Holders Manchester City will face Aston Villa in the Carabao Cup final, advancing 3-2 on aggregate despite losing a tense second leg to neighbours Manchester United.
Leading 3-1 from the first leg at Old Trafford, City 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.
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.
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 but 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.
Pep 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.