Manchester City will play Liverpool in the Capital One Cup final after Sergio Aguero struck late to beat Everton 3-1 (4-3 on aggregate).

Holding a 2-1 advantage from the first-leg, Everton took an early lead through Ross Barkley but goals from Fernandinho, substitute Kevin de Bruyne and Aguero ensured City's progression, who will meet Liverpool in a major final for the first time on February 28.

Everton will feel aggrieved at the decision to award the crucial De Bruyne equaliser as the ball appeared to be a yard over the dead-ball line as Raheem Sterling's cut-back allowed the Belgium international to score.

Image: Manchester City boss Manuel Pellegrini greets Roberto Martinez

It was a bitter-sweet night for City, though, as De Bruyne was carried off on a stretcher late on with a serious looking knee injury.

Everton's plan from the outset was to sit back, soak up pressure and then hit on the counter.

City had plenty of the ball in the opening 20 minutes but it was Everton that made the all-important breakthrough to take a 3-1 lead in the tie.

Image: Everton's Ross Barkley celebrates his stunning opener

Nicolas Otamendi was brushed off the ball too easily by Barkley in midfield and he set sail for the City penalty area. The England international was given far too much space and he took his chance, firing a low drive into the bottom corner.

Everton have dropped eleven points from winning positions this season in the Premier League and their inability to hold a lead was on full show once again as City hit-back six minutes later.

Raheem Sterling says he's ready to face his old club Liverpool in the final

Aguero found space on the right and unleashed an effort that was blocked into the path of Fernandinho, who struck a first-time effort from 18 yards. Joel Robles looked to have it covered but the ball took a wicked deflection off Leighton Baines and over the helpless goalkeeper.

Aguero was closely watched all night by the Everton back-four, but he found space to smack an effort against the post on 36 minutes. David Silva somehow failed to turn the ball home from close range.

Image: Sergio Aguero of Manchester City is challenged by Leighton Baines of Everton

Gerard Deulofeu wasted a golden opportunity just after half-time when he was released on goal by Barkley, but Willy Caballero was out quick to make the save.

That was the last clear opportunity Everton created in the game as City took control. Aguero missed his kick from 10 yards when well placed on 50 minutes and Silva headed against the post four minutes later.

Frustration was growing within the home ranks but their moment would come on 69 minutes - a moment which, arguably, was the defining moment of the entire tie.

Image: Manchester City's Fernandinho celebrates scoring his side's first goal of the game

Sterling raced clear down the left before running the ball slightly over the dead-ball line. He pulled the ball back for De Bruyne, who had replaced Yaya Toure five minutes earlier, and he smashed the ball home. Replays showed the ball was out of play when Sterling crossed but Everton's protests were in vain.

That goal seemed to knock the stuffing out of Roberto Martinez's men and Aguero put City ahead for the first time in the tie six minutes later.

De Bruyne provided the magic from the wide area, curling a beautiful ball into the middle where Aguero was waiting to flick a header into the bottom - his seventh goal of 2016.

Everton had nothing in reply as City saw the game out with little problems, although the gloss was taking off their victory as De Bruyne was stretched off with his knee in a brace after landing awkwardly.