Manchester City reached the League Cup final after recovering from a shaky start as Sergio Aguero's brilliant header sealed a 3-1 win over Everton in the semi-final second leg to clinch a 4-3 aggregate victory.
Ross Barkley's bullish run and powerful finish put Everton ahead on the night after 18 minutes, but the lead was soon wiped out when Fernandinho's effort was deflected into the visitors' net.
If that was a lucky break for City, they were even more fortunate when Kevin de Bruyne side-footed them level in the tie after replays showed the ball had gone out of play before being cut back for the Belgian to score after 70 minutes.
City's third goal, however, was all about the brilliance of striker Aguero, who angled a superb header into the corner to set up a final against Liverpool on Feb. 28 at Wembley.
"I am very happy, to play a final at Wembley, it is very important," City manager Manuel Pellegrini told Sky Sports.
His Everton counterpart Roberto Martinez, however, was understandably annoyed by the decision to allow De Bruyne's goal.
"Everyone that has seen the replay can clearly see the ball is out of play," the Spaniard told the BBC.
With only a slender first-leg lead to defend, Everton, who have never won the League Cup, resisted any temptation to sit back and had made a handful of threatening breaks before Barkley put them ahead.
The midfielder has faced criticism for failing to make the most of his obvious talents, but powered into the heart of City territory like an express train before drilling the ball right-footed into the bottom corner.
City had looked sluggish and there was little evidence they were capable of dragging themselves back into the tie before Fernandinho restored parity on the night six minutes later.
Aguero's strike from outside the box cannoned back into the path of the Brazilian midfielder whose shot took a wicked deflection off Leighton Baines and looped away from Everton keeper Joel Robles into the net.
Far from inspiring a relentless City onslaught, however, the goal did little to enliven the hosts, although they did finally get some momentum at the start of the second half before De Bruyne put them 2-1 ahead on 70 minutes.
Replays, however, showed the goal should not have stood as Raheem Sterling had let the ball run out of play before pulling it back for the Belgian substitute to lash home.
De Bruyne, who was carried off on a stretcher before the end with a knee injury, was the architect of Aguero's decisive goal, curling a beautiful cross in for the Argentine to leap and angle a superb header into the far corner from 10 metres.
Three-times League Cup champions City reached the final of the competition for the second time in three seasons and will face record eight-times winners Liverpool, who came through on penalties against Stoke City on Tuesday.