Manchester City booked a return to Wembley despite defeat to Manchester United in another derby marred by crowd problems.
Nemanja Matic scored but was later sent off as United claimed a 1-0 win at the Etihad Stadium that was not enough to prevent City prevailing 3-2 on aggregate in their Carabao Cup semi-final.
The result ensured City, bidding to win the competition for a third successive year and a fifth time in seven seasons, would face Aston Villa in the final on March 1.
This came after the Premier League meeting between the two sides at the same venue in December was overshadowed by a City supporter making a racist gesture towards United players.
It also happened just a day after the home of United’s executive vice-chairman Ed Woodward, who attended the game, was attacked in a sinister escalation of the vitriol aimed at him in recent weeks.
City manager Pep Guardiola said: “When you talk about what happened, I didn’t know it. If it would happen, that is not nice. Absolutely not.
Opposite number Ole Gunnar Solskjaer said: “I’ve just got to stand behind Pep there.
“Yes, we want rivalry but let’s keep it at a sane level and let’s make sure
we eradicate that now.”
City dominated on the field, as they did in the first leg, but on this occasion they lacked a cutting edge.
United punished them when Matic scored with a sweet strike on 35 minutes, but they could not find another way through and the Serbian’s second yellow card 14 minutes from time dealt them a heavy blow.
Guardiola said: “I am really pleased with this 180 minutes we played. In both games we were better and I am so satisfied with the players and the way they played. I am very pleased, for three years in a row, to be in this final.”
Solskjaer was also proud of his players’ effort.
“We’re missing big players but we’ve came here and beaten them again. I’m so proud of how how far these boys have come.”
United are set to complete the signing of Portugal midfielder Bruno Fernandes from Sporting Lisbon on Friday after reaching a deal costing an initial £46.6million.
He could even go straight into the side to replace the suspended Matic against Wolves on Saturday.
Solskjaer said: “Let’s get the contract signed and medical done – but the boy is fit and ready to play, I would presume. So, let’s see if we get it done.”