Nemanja Matic went from hero to villain as a wasteful Manchester City side, despite a 1-0 defeat, dragged themselves into the Carabao Cup final with a 3-2 aggregate win over bitter rivals Manchester United.
The hosts could have had a hatful inside 15 minutes if not for a combination of wasteful finishing and a string of fine saves from David De Gea, but it was Matic who opened the scoring with a stunning strike into the bottom corner.
City then had to survive a barrage of United attacks after the break, but they regained control when Matic was given his marching orders after picking up a second yellow for cynically hauling down Ilkay Gundogan.
That gave the Sky Blues the breathing space they needed, and despite a poor night in front of goal, they held their nerve to book their place at Wembley on March 1st.
The hosts started the evening in breathtaking fashion and Pep Guardiola's side did everything but score in an opening 15-minute spell where they were nothing short of joyous to watch. The Sky Blues had to show a different side of their game to keep United at arm's length early in the second half, but they ultimately saw the game out and will have the chance to lift yet more silverware in March.
City huffed and puffed in the opening quarter of an hour, but they gradually allowed United to turn the screw ever so slightly and found themselves behind at the break despite their dominance. Perhaps more frustratingly, the hosts had squandered plenty of opportunities and that made things much nervier than they might have been.
Manager rating out of 10
6 -- Forget disguise, Guardiola is so often the master of surprise. The City boss threw his opponents another curveball with a formation that had us all guessing for the best part of 10 minutes. His side were riding their luck until Matic's dismissal, but ultimately, they got the job done.
Player ratings (1-10; 10 = best. Players introduced after 70 minutes get no rating)
GK Claudio Bravo, 6 -- Pep Guardiola's cup specialist was treated to the luxury of observing a city masterclass in the opening stages. He will be a touch frustrated at being beaten at his near-post -- although the Serbian's perfectly-struck effort was practically unstoppable.
MF Kyle Walker 6 -- Found himself under little pressure in the first half, but he did well to stay alert and cut out Aaron Wan-Bissaka's cross. The ex-Tottenham man looked nervous as he miscontrolled a crossfield ball from Joao Cancelo and was left in some discomfort after receiving a bang from Nicolas Otamendi.
DF Nicolas Otamendi, 7 -- The centre-back found himself with nothing to do for the best part of 15 minutes, but produced a big header to relieve the pressure as the visitors finally managed an attack. After the break, the Argentine proved a rock at the back, but he unnecessarily bundled over Maguire late on and might have conceded a penalty on another night.
MF Joao Cancelo, 6 -- Survived a slight scare when Matic hit the deck after he was sandwiched by Cancelo and Rodri, but Kevin Friend waved away United's protests. The full-back shoved Daniel James to the ground after naively finding himself in a race with the Welshman and was thankful to see Maguire head over from the resulting free kick.
DF Rodri, 5 -- Punished by a clinical finish from Matic who crashed home Fred's free kick after the Spaniard cynically checked Jesse Lingard. Upon further inspection there wasn't too much in the challenge, but it handed the visitors the opportunity they needed to throw the tie wide open. Picked out the ball boy with a six-yard pass to nobody as the nerves started to show.
MF Ilkay Gundogan, 6 -- Almost gave City the perfect start when he picked out Sergio Aguero's head with an inviting, lofted pass into the United penalty area and produced an excellent challenge to halt Jesse Lingard after Matic had sent the midfielder clear. Couldn't get the ball out of his feet when United looked to be sitting ducks, but in fairness David Silva should never have passed it to him in the first place.
MF Riyad Mahrez, 6 -- The Algerian has been electric this season and came close to breaking the deadlock inside 10 minutes with a deflected strike that drew a good save from David De Gea, but he'll be feeling sore tomorrow thanks to a frosty reception that saw Matic pick up his first booking of the evening.
MF Kevin De Bruyne, 7 -- Captain Kevin's passing really is on another level. Threaded Sterling in on goal with an exquisite pass that Sterling failed to convert. Prior to that, the Belgian had fired one over himself after slightly snatching at Aguero's lay-off.
MF Bernardo Silva, 7 -- The Portugal international dived in a little too eagerly which gifted United the chance to escape City's unrelenting press for the first time. Gradually unlocked pockets of space, but his teasing low cross drifted past the far post.
FW Raheem Sterling, 5 -- His night in front of goal epitomised City's and he fired unforgivably over the bar after dancing past the outstretched arms of a grounded De Gea.
FW Sergio Aguero, 7 -- The classy striker's superb run around the back completely deceived Luke Shaw and only an excellent block from De Gea denied the Argentine's improvised diving header from point-blank range. His rifled effort at the top corner was again repelled by the Spaniard following the silkiest of exchanges with Sterling.
DF John Stones, N/R -- Replaced De Bruyne in the dying embers of the contest. No time to make an impact.
MF David Silva, 5 -- Wasted the chance to crash home what seemed a certain equaliser when he unselfishly squared to Gundogan, but the ball got stuck at the German's feet.
FW Gabriel Jesus, N/R -- Replaced Aguero to kill a few seconds and immediately received a heavy challenge from Aaron Wan-Bissaka that killed a few more.