Manchester City suffered Champions League heartbreak as Real Madrid won 6-5 on aggregate to reach the final.
Pep Guardiola’s side were seemingly in control of the semi-final tie heading into stoppage-time, with Riyad Mahrez having them ahead on the night.
But Rodrygo struck an incredible late brace to send it to extra-time, and Karim Benzeman’s penalty then made it 3-1 on the night and put Real ahead in the tie for the first time to get the job done.
James Robson was at the Bernabeu to rate the City players on a painful night...
Ederson 6
As stunned as the rest of his City teammates as Real turned the tie on its head in no time. Had been unflappable to that point.
Kyle Walker 9
Absolutely immense. Is it a surprise that all of Real’s goals came after he left the pitch? What a performance – matching Vinicius stride for stride, with a fair amount of gamesmanship as well.
Ruben Dias 6
For 90 minutes he did a much better job of shepherding Benzema than in the first leg. Capitulated late on and his rash challenge saw him bring down Benzema for an extra time penalty.
Aymeric Laporte 6
In the right place at the right time on a number of occasions and then melted in the heat of Real’s fightback.
Joao Cancelo 7
Assured on both sides of defence. How City missed him in the first leg, but Rodrygo’s first goal came down his side.
Bernardo Silva 8
He was everywhere. Tidying up around his own box one moment and then driving forward with the ball the next. Set up Mahrez’ goal.
Rodri 8
Got in the way of Real attacks on so many occasions and eased the pressure on City with his calm use of the ball in tight situations.
Kevin De Bruyne 6
Not at his most effective – as proven by Guardiola’s decision to take him off in the second half. Still had his moments when he threatened to open Real up.
Riyad Mahrez 8
Much of his best work was when he was snapping into tackles to break down Madrid’s attempts to get out of their own half – but he then came up with a wonder strike that looked to have put the tie beyond the home side.
Gabriel Jesus 6
Stretched Real with his constant running and unselfish work to pull defenders out of shape.
Phil Foden 6
Snap shot from distance nearly caught out Courtois. Did not make the ball stick up top enough.
Subs:
Oleksandr Zinchenko (Walker, 72) 5
Filled in comfortably at left back to allow Cancelo to switch sides. Pushed forward to try to get City back in the game.
Ilkay Gundogan (De Bruyne, 72) 6
Took immediate charge of midfield from the moment he stepped off the bench. Looked like an inspired substitution until late on.
Jack Grealish (Jesus, 78) 6
An absolutely brilliant cameo saw one effort cleared off the line and another go inches wide. Twisted Real in knots.
Fernandinho (Mahrez, 85) 5
Was supposed to come on and see out the tie for City. It did not work out like that.
Raheem Sterling (Cancelo, 99) 5
Tried to run at Real and injected energy – but the quality was not there.
Unused subs: Steffen, Carson, Ake, Egan-Riley, Palmer, McAtee, Lavia