The goalkeeper saved Riyad Mahrez’s spot-kick as Pep Guardiola’s side won 4-3 on penalties following a 1-1 draw after extra time.
Jamie Vardy missed in the shoot-out after scoring an added-time penalty to take it beyond 90 minutes, after Bernado Silva’s first-half goal looked to have given the visitors the win.
They can still take a clean sweep of trophies this term with Guardiola’s side 11 points clear at the top of the Premier League.
Leicester boss Claude Puel conceded before the game even if City made wholesale changes their team would still be one of the best in Europe.
Yet Puel’s decision to leave Mahrez, Vardy, and Demarai Gray on the bench until the second half ultimately backfired.
Only Ilkay Gundogan and Eliaquim Mangala started for City following Saturday’s 4-1 win over Tottenham.
The Foxes trio put the visitors on the back foot but could not end Guardiola’s domestic dominance.
City, who have won the trophy twice in the last four years, bossed a low-tempo start which began to ignite when Silva forced Ben Hamer into a smart 13th-minute stop.
Leicester then almost gifted the visitors the lead in the next attack when Christian Fuchs and Hamer collided and Gundogan had his goalbound shot blocked.
Gundogan, who scored his first goal of the season against Tottenham, was seeking more and Hamer tipped his chip over.
The Foxes started slowly and Kelechi Iheanacho, who moved from the Etihad to Leicester in the summer, struggled to make an impact before he helped his old club to a 26th-minute opener.
Iheanacho allowed Yaya Toure to take the ball, Gundogan strode forward to find Silva and the winger prodded the ball under the onrushing Hamer.
With the lead City were comfortable but Bravo had to react well to Iheanacho’s low shot after 33 minutes.
It gave Leicester belief with Bravo unsettled and Iheanacho shot over following the goalkeeper’s hurried clearance.
The hosts continued to rattle City thanks to the arrival of Mahrez and Vardy 11 minutes after the break but failed to create clear openings and the most Guardiola had to be worried about was when a pitch invader was dragged past him.
The arrival of Gray signalled Leicester’s intent and Mahrez almost levelled when his angled effort was gathered by Bravo with 10 minutes left.
They did equalise in the seventh of eight minutes of stoppage time when Kyle Walker tangled with Gray in the area and Vardy buried the penalty.
It was a soft decision and Walker had penalty claims of his own turned down in extra time, while Bravo saved well from Mahrez before the shoot-out.
Fuchs, Harry Maguire, and Vicente Iborra scored for Leicester while Gundogan, Toure, Lukas Nmecha and Gabriel Jesus netted for City.
But, at 4-3, Vardy’s penalty hit the post and Bravo dived to his left to deny Mahrez.
Hamer, Amartey, Dragovic (Benalouane 111), Maguire, Fuchs, Albrighton (Mahrez 57), King, Iborra, Chilwell (Gray 72), Okazaki, Iheanacho (Vardy 57).
Bravo, Danilo, Adarabioyo, Mangala (Walker 81), Zinchenko, Gundogan, Toure, Foden (Dele-Bashiru 90), Bernardo Silva, Gabriel Jesus, Diaz (Nmecha 88).