City booked their place in the Capital One Cup final after coming from behind to beat Everton 3-1.
Kevin De Bruyne climbed off the bench to inspire the Blues to Wembley, scoring one and making another before being stretchered off injured after a stirring second-half performance.
Now City can look forward to a February final with Liverpool in a bid to win the League Cup for the second time in three seasons.
It was a thrilling, rollercoaster ride and an absorbing cup tie from start to finish.
With a crackling atmosphere inside the Etihad and a Club record semi-final attendance of 50,048, City went about trying to find a goal that would bring parity to the aggregate score
...City 3 Everton 1...
Manuel Pellegrini made four changes from the side that drew 2-2 at West Ham last Saturday in a bid to see off the Toffees who were hoping to book their place in what could be an all-Merseyside final.
Everton were looking to repeat their Premier League result at this ground just a fortnight earlier when they became the first side to hold the Blues to a 0-0 draw for more than five years and they set out a similarly defensive formation, inviting City on and looking to catch the hosts on the break.
It worked well in the opening stages, too, with the Blues unable to create any meaningful chances and the Toffees looking dangerous when they counter-attacked.
City failed to heed those early warnings and on 18 minutes, found themselves a goal behind on the night and two on aggregate.
Ross Barkley exploited the space in midfield and drove towards the edge of the City box before unleashing a low drive from 20 yards that arrowed past Willy Caballero and into the bottom corner of the net.
City needed a quick response - and got one just six minutes later. David Silva’s lofted ball to Sergio Aguero saw the Argentine attempt an early shot, the ball was blocked and fell to Fernandinho on the edge of the box and his shot struck Leighton Baines on the way past Joel Robles to level the score on the night.
It was exactly what the doctor ordered but the Blues still had plenty of work to do.
City came within a whisker of finally pulling level overall with 37 minutes on the clock as Aguero cut in from the right an unleashed a fierce drive from distance that struck the inside of the post and Silva’s attempt to poke home the rebound was palmed away by a relieved Robles.
The teams went in at the break with the tie still finely balanced. Jesus Navas replaced Fabian Delph for the re-start and the Blues continued to press for the second goal that would at least take the game into extra time.
It nearly came just before the hour when Silva got his head to a cross from the right only to see his effort strike the inside of the post.
De Bruyne was introduced to the action on 65 minutes in place of Yaya Toure and within five minutes, the Belgian had the Etihad in raptures as he drilled home Raheem Sterling’s clever pull-back from the right.
It was no more than City deserved and with 20 minutes still remaining, there was still time to find the goal that would send the Blues back to Wembley for the first time in two years
...City 3 Everton 1...
Everton looked as though they’d had the stuffing knocked out of them as City continued to pile forward and the Blues’ endeavours were again rewarded 14 minutes from time as De Bruyne’s superb cross was glanced home by Aguero.
It capped a magnificent spell of pressure by City and it had been De Bruyne who had been the catalyst, changing the face of the tie with a majestic cameo appearance.
City continued to dominate in attempt to finally kill off Everton’s challenge, but almost on full-time, De Bruyne went down and stayed down after landing awkwardly on his knee and had to be stretchered off to a thoroughly deserved standing ovation.
The Blues had to endure eight minutes of added time, but never really looked like letting the advantage they’d battled so hard to gain slip.
Finally, the referee called a halt to proceeding and confirmed the Blues’ Wembley date next month with Liverpool.