Pep Guardiola's side took the lead when Kevin De Bruyne marked his return from injury with a fine finish in the first half at the King Power Stadium.
Marc Albrighton cancelled out De Bruyne's first goal since April with a late equaliser to set up the 3-1 shoot-out win.
Muric, making his second City appearance in place of the rested Ederson, stole the spotlight as the 20-year-old Kosovo international made two penalty saves to clinch his team's last four berth.
Just hours after Guardiola's old rival Jose Mourinho was sacked by Manchester United after their worst start for 28 years, City could afford to make eight changes and still went through as they chase the third trophy of the Guardiola era.
No wonder City fans cheekily chanted "bring back Mourinho".
"A tough game, it is always difficult at Leicester. We played with a guy (Eric Garcia) who is 17 years old and some injured players, but it was a good game," Guardiola said.
De Bruyne added: "I feel stiff but I am happy to contribute. To be out for so long and to play 70 minutes is a good sign for me. We want to win titles so there's two games more and we can battle for another trophy."
City had 87 per cent of the possession in the early stages and their pressure was rewarded in the 14th minute.
De Bruyne took control on the left edge of the Leicester area, cleverly shifted the ball onto his right foot before unleashing a low drive that zipped through the legs of Hamza Choudhury and past goalkeeper Danny Ward.
It was a cathartic moment for De Bruyne in only his seventh appearance of a frustrating season ravaged by two knee injuries.
The Belgium midfielder was making his first start since being injured in City's League Cup win over Fulham on November 1.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ