Trailing Man. City 5-3 on aggregate with 90 minutes on the clock, Real Madrid went on to complete a remarkable comeback in extra time and reach their 17th European Cup final.
Article top media content
So often backed into a corner in this season's UEFA Champions League, Real Madrid will play Liverpool in the final after escaping from their tightest spot of all to beat Manchester City 3-1 on the night and 6-5 on aggregate.
73' Mahrez whips in first-time shot
87' Grealish twice goes close to scoring
90' Rodrygo pokes in from close range
90+1' Rodrygo heads in Carvajal's deflected cross
95' Benzema converts from penalty spot
Match in brief: Rodrygo turns tie on its head
City were tactically smart in keeping Madrid at arm's length for much of this game, denying them even a single shot on target for 89 minutes. So when Riyad Mahrez's first-time effort beat Thibaut Courtois at his near post, it looked to be not only the seal on a devastating counterattack but the rubber-stamp on a classic away performance and the decisive goal in the tie.
Though Jack Grealish twice went agonisingly close to hammering in the final nail with just three minutes left – Ferland Mendy and Courtois to Madrid's rescue – few could have predicted what was to follow.
First, with 90 minutes on the clock, Rodrygo beat Ederson to Karim Benzema's cutback to give the hosts hope, but time was still against them. Or so it seemed. Just a minute later, the substitute headed in Dani Carvajal's cross to make it 5-5 on aggregate – and even then, Ederson was required to deny Rodrygo the unlikeliest of hat-tricks and force extra time.
Just five minutes into the first period, Karim Benzema dusted himself down from a Rúben Dias foul to convert from the spot and complete a remarkable turnaround. Courtois was then on hand to keep out Phil Foden's header to ensure no further twists.
PlayStation® Player of the Match: Thibaut Courtois (Real Madrid)
"He kept Real alive with big saves across the 120 minutes. He maintained concentration even when City were two up on aggregate, pulling off the save of the game to pave the way for Madrid's comeback. Pulled off another fine save in extra time. This was a decisive performance to take Real to the final in Paris."
UEFA Technical Observer panel
Simon Hart, Real Madrid reporter
In some ways, Madrid's progress to their 17th European Cup final defies all logic. As against Paris and Chelsea, they looked down and out. Yet again, though, they dug deep and found a way. No Madrid side had previously overturned a first-leg semi-final deficit in this competition, yet this is no ordinary side. Carlo Ancelotti's men simply don't know when they're beaten – and thanks to Rodrygo's late, late double and Benzema's spot kick, Paris beckons. The Bernabéu has worked its magic once more.
Matthew Howarth, Man. City reporter
City simply didn't look like conceding for the best part of 90 minutes, then up popped Rodrygo to breathe life into a tie that appeared to be reaching a straightforward conclusion. With momentum back on their side, and with City's players looking crestfallen, Rúben Dias' foul on Benzema and the Frenchman's subsequent spot kick felt like it was all part of the script. Even by Real's standards this season, however, this was quite astonishing.
Carlo Ancelotti, Real Madrid coach: "It is the history of this club that helps us to keep going when it seems that we are gone. The game was close to finished and we managed to find the last energy we had. I am happy to be in the final, in Paris against another great rival. We are used to it. It will be a fantastic game for football."
Rodrygo, Real Madrid forward: "We were losing the match, we were dead and what happened, happened. With this shirt, we learn to always fight to the end. We were almost dead, but with my first goal we started to believe."
Rio Ferdinand, BT Sport
"Ancelotti's body of work stands up against any person in any era. He's phenomenal. We have been treated to some unreal football in these semi-finals. I feel blessed to be here. This is going to be some final."
Josep Guardiola, Man. City coach: "We were close, but in the end we couldn't do it. The first half we weren't good enough, but we didn't suffer much. We found our tempo after the break, but we didn't play our best. Football's unpredictable and you have to accept it. We need time to process this."
- Carlo Ancelotti will be the first man to coach in five European Cup finals.
- Madrid are through to their 17th European Cup final; they have won 13 of the previous 16.
- Benzema has equalled Cristiano Ronaldo's record (2016/17) of most Champions League knockout goals in a single season (ten).
- Benzema has now scored 43 goals in 43 games in all competitions this season.
- This was the first time Madrid have ever come from behind to win a European Cup semi-final after losing the first leg, home or away. They had been eliminated on the previous eight occasions.
- Madrid have failed to score in only one of their last 62 Champions League home games.
- Mahrez has now scored four goals in four Champions League semi-final matches; he scored three across the two legs against Paris last season, including two a year ago to the day.
Karim Benzema – 11
Rodrygo – 9
Riyad Mahrez – 8
Real Madrid: Courtois; Carvajal, Éder Militão (Jesús Vallejo 115), Nacho, Mendy; Modrić (Camavinga 75), Casemiro (Asensio 75), Kroos (Rodrygo 68); Valverde, Benzema (Ceballos 104), Vinícius Júnior (Lucas Vázquez 115)
Man. City: Ederson; Walker (Zinchenko 72), Rúben Dias, Laporte, João Cancelo; Bernardo Silva, Rodri (Sterling 99), De Bruyne (Gündoğan 72); Mahrez (Fernandinho 85), Jesus (Grealish 78), Foden