Match ends, Manchester City 0, Manchester United 1.
Pep Guardiola says Manchester City need to "learn to be more clinical" after they made difficult work of reaching their third successive Carabao Cup final.
Guardiola's side will face Aston Villa at Wembley on 1 March despite losing the second leg of their semi-final against Manchester United, advancing 3-2 on aggregate.
Leading 3-1 from the first leg at Old Trafford, the holders pushed forward in search of a goal to put the tie to bed but could find no way past an inspired David de Gea.
Instead, United put things back in the balance before half-time when Nemanja Matic put them ahead on the night with their first effort at goal.
United had created nothing in open play but City could only half-clear Fred's free-kick and Matic swept a powerful first-time strike past Claudio Bravo.
"Over 180 minutes we were better than United," said Guardiola. "We created chances to score a lot of goals and didn't convert. We need to learn to be more clinical.
"We played a side with incredible physicality. The goal was from a set-piece. The first time they shot on target. In both games, we were better."
City tried to respond after going behind - and De Gea, who had brilliantly denied Sergio Aguero and Riyad Mahrez in the opening minutes, was finally beaten when Raheem Sterling turned in Kevin de Bruyne's cross, but the flag was already up for offside.
The scoreline made for an anxious atmosphere at Etihad Stadium at the break and more United chances followed in the second half, with Harry Maguire heading over and Anthony Martial bringing a low save from Bravo but ultimately the visitors were unable to score a second.
Sterling, still without a goal in 2020, had a chance to settle his side's nerves and restore their two-goal cushion when he ran clear in the second half but he dallied and eventually skied his shot.
More wastefulness from the home side followed, notably when the ball broke to substitute David Silva in front of goal but he chose to square to Ilkay Gundogan rather than shoot.
It was only when Matic was sent off for his second booking with 14 minutes remaining that City regained any sort of control of the game, and they were able to see out the remainder without any further scares to ensure their progress.
Guardiola's side are into the final for a third successive year and will go for their seventh EFL Cup win when they face Villa in the final at Wembley on 1 March.
Only Liverpool, who have won it eight times, have a better record in the competition.
Room for improvement for careless City
Guardiola wants his side to use their domestic cup games as preparation for next month's Champions League tie with Real Madrid and, on this evidence, there is plenty of room for improvement.
It was not just in front of goal where City were careless - after falling behind to Matic's goal, they frequently gave away possession too.
True, they restricted United to only a handful of further chances and never really seemed in danger of overall defeat, but considering they were 3-0 up before half-time in the first leg, this was an underwhelming way to progress.
Guardiola, who went with a strikerless 4-4-2 formation at Old Trafford, used a 3-2-4-1 formation here, and it gave his side the upper hand early on.
But the longer they went without taking their chances, the more hope United had - especially when Matic scored.
Of the opportunities City wasted, Sterling's was the worst - and the England forward surely needs to find the net soon to boost his faltering confidence in front of goal.
He had time to pick his spot when De Bruyne sent him galloping clear but chose to cut inside past Victor Lindelof and De Gea, and United had several defenders back when he finally blazed his shot over.
Plenty of positives for Man Utd
United kept the tie alive until the very end, when Fred fired a free-kick into the City wall from a dangerous position, but still had the consolation of being able to claim their second win at Etihad Stadium this season.
Their performance on this occasion did not repeat the attacking verve of their Premier League victory here before Christmas, when they repeatedly ripped apart City's defence on the counter-attack, but there were still plenty of positives for Ole Gunnar Solskjaer, other than the result on the night.
The imminent arrival of Bruno Fernandes will bolster Solskjaer's midfield options but, before his red card, Matic showed he still has plenty to offer in that department.
As well as his fine finish, the Serb made several timely interceptions and, along with Fred, helped United stem the tide after City's fast start.
De Gea, too, has received plenty of criticism lately - so deserves to take credit here for helping United become only the second side to stop City scoring at Etihad Stadium this season.
His instinctive stop from Aguero's header was his best save of the night, but he was equal to whatever City could throw at him.
Man of the match - David de Gea (Manchester United)
'It was never a sending off. An absolute joke' - what they said
Manchester City's Ilkay Gundogan: "We should have scored early in the first half. We should have scored at least one or two goals today but it wasn't to be.
"The manager said before the game this is now an experience, we have to survive and overcome. I think we can improve. It is a learning process."
Manchester United manager Ole Gunnar Solskjaer: "I am so proud of these players. They have beaten City twice at their ground. They have come so far these players. They have given me absolutely everything.
"We have come a long way. Even though we did not create too many clear cut chances, we pressed them back. It pleased me.
"Of course it is hard to come here and score a goal with 11, never mind 10. It was never a sending off. An absolute joke. How many times did they foul us?"
Dion Dublin, former Manchester United striker on BBC Radio 5 Live
City played all right tonight - it was organisation and concentration that saw them through, but they also had a lot of the ball and played some really pretty football.
It was just in the final third where they were not as deadly as usual, but I don't think that was down to City being awful; it was more United being set up in a way that made it difficult to break them down.
They went with five at the back when they were out of possession and Matic did not move from Maguire's toes, so they were very tight and there were no gaps for City to play through them.
From United's point of view - well, they are out but I can see why their manager Solskjaer was still quite happy with tonight's result.
If you can win at Etihad Stadium, regardless of being 3-1 down from the first leg, then you have done something right. They can take a lot of heart from this performance, now they need to build on it.
United end City's domestic cup run - the stats you may have missed
- Manchester City are just the third side to reach three consecutive League Cup/EFL Cup finals after Liverpool (four in a row between 1981 and 1984) and Nottingham Forest (1978 to 1980).
- Only Liverpool (12), Aston Villa (nine, including this season) and Manchester United (nine) have reached the final on more occasions than Manchester City (eight).
- United have won consecutive away matches against City for the first time since winning four in a row between November 1993 and November 2000, with all wins in that run coming in league games.
- United are the first side to beat Manchester City in any domestic cup competition (EFL Cup or FA Cup) since Wigan did so during the 2017-18 FA Cup, ending City's 19 game unbeaten run in such fixtures.
- Ole Gunnar Solskjaer is just the third manager to win two away matches against Pep Guardiola in his managerial career, after Jose Mourinho and Jurgen Klopp.
- Nemanja Matic was the first Manchester United player to both score and be sent off in a game since Wayne Rooney against West Ham in the Premier League back in September 2014.
Both sides return to Premier League matters at the weekend, with United hosting Wolves on Saturday (17:30 GMT kick-off) and City away at Tottenham on Sunday (16:30).
- 30OtamendiBooked at 87mins
- 17De BruyneSubstituted forStonesat 90+1'minutes
- 20Bernardo Silva
- 16RodriBooked at 57mins
- 26MahrezSubstituted forSilvaat 68'minutes
- 10AgüeroSubstituted forGabriel Jesusat 90+3'minutes
- 9Gabriel Jesus
- 1de Gea
- 23ShawSubstituted forMataat 79'minutes
- 29Wan-BissakaBooked at 90mins
- 31MaticBooked at 76mins
- 14LingardSubstituted forPereiraat 65'minutes
- 26GreenwoodSubstituted forJamesat 45'minutes
- Kevin Friend
- Shots on Target
Second Half ends, Manchester City 0, Manchester United 1.
David Silva (Manchester City) wins a free kick in the defensive half.
Foul by Harry Maguire (Manchester United).
Aaron Wan-Bissaka (Manchester United) is shown the yellow card for a bad foul.
Gabriel Jesus (Manchester City) wins a free kick on the left wing.
Foul by Aaron Wan-Bissaka (Manchester United).
Substitution, Manchester City. Gabriel Jesus replaces Sergio Agüero.
Substitution, Manchester City. John Stones replaces Kevin De Bruyne.
Attempt blocked. Fred (Manchester United) left footed shot from outside the box is blocked.
Nicolás Otamendi (Manchester City) is shown the yellow card for a bad foul.
Foul by Nicolás Otamendi (Manchester City).
Harry Maguire (Manchester United) wins a free kick in the attacking half.
Attempt blocked. Harry Maguire (Manchester United) left footed shot from outside the box is blocked. Assisted by Brandon Williams.
VAR Decision: No Goal Manchester City 0-1 Manchester United.
Offside, Manchester City. João Cancelo tries a through ball, but Sergio Agüero is caught offside.
Substitution, Manchester United. Juan Mata replaces Luke Shaw.
Attempt missed. Ilkay Gündogan (Manchester City) left footed shot from outside the box is high and wide to the left.
Second yellow card to Nemanja Matic (Manchester United) for a bad foul.
Ilkay Gündogan (Manchester City) wins a free kick in the defensive half.