Real Madrid booked their place in the Champions League final against Liverpool in truly extraordinary circumstances, scoring twice in added time and a third time in extra time to knock out Manchester City in another European classic.
Following the barnstorming first leg at the Etihad stadium, Manchester City travelled to the Santiago Bernabeu knowing that, provided they avoided defeat, they would have booked their place in the final in Paris and yet another showdown with Jurgen Klopp's Liverpool.
And, in a game that was the antithesis of the first leg but fascinating nonetheless, it was Riyad Mahrez who thought he had punished a lacklustre Real Madrid side to hand his side a route to the final.
Then, it all went wrong for the Sky Blues, as Rodrygo notched twice in added time with the Spanish side's first and second shots on target of the game, to force extra time.
The Madridistas, many of whom had turned for the exits, returned jubilant, and the cauldron of noise produced another roar as Karim Benzema went down in the area under a rash challenge from Ruben Dias.
The Frenchman, who helped his side through both of the last rounds, brushed himself off and calmly slotted past Ederson to hand his side the lead just minutes into extra time, and complete a remarkable turnaround for Los Blancos.
Thibaut Courtois - 6
Could not do anything when beaten by Mahrez for City's only goal. Had little to do otherwise.
Dani Carvajal - 6
Toothless going forward but solid defensively. Kept Foden very quiet.
Eder Militao - 5
A mixture of theatrical tumbles and reckless challenges was interspersed with some average defending.
Nacho Fernandez - 7
Strong across the 90 minutes and rose to the occasion in David Alaba's absence. Rose to added prominence in extra-time.
Ferland Mendy - 7
Marshalled Mahrez well for much of the game, and was a useful foil for Vinicius Junior, but switched off at a key moment for City's opener.
Casemiro - 6
Was lucky to escape a caution in the opening minutes and again on the half hour, but certainly offered Real Madrid more solidity in the middle of the park than they had at the Etihad.
Luka Modric - 6
The Croatian was Real Madrid's best midfielder.
Toni Kroos - 5
A passenger for much of the game, was removed for Rodrygo as Ancelotti hunted a goal in what proved a masterstroke.
Federico Valverde - 4
Was ineffective and offered little either on the right-wing or in central midfield. Kept running, however.
Karim Benzema - 5
Missed chances in the first half that he would have expected to bury in his vein of form. Was bailed out by Rodrygo and stayed calm to convert an all-important spot kick.
Vinicius Junior - 6
Was involved in the fight of the night against Kyle Walker before the defender was forced off with injury. Pacey but lacked end product.
Rodrygo - 9
Grabbed two late goals with the first two shots on target of the game for Los Blancos to take the tie to extra time. A super sub in its very essence.
Eduardo Camavinga -8
Changed the course of the game, and looks to be another jewel in the Real Madrid midfield engine room.
Marco Asensio - 6
Did little to change the game.
Dani Ceballos- 5
Worked hard in a backs to the wall performance in extra time.
Jesus Vallejo - N/A
Came on for the final 10 minutes of extra-time
Lucas Vazquez - N/A
Came on for the final 10 minutes of extra-time
Ederson - 6
Did not have much to do and looked nervy on a couple of occasions when coming to claim high balls, but was calm as usual with his passing. Could do little for any of the goals.
Kyle Walker - 8
Forced his way back from injury to be fit for the game, and was the ultimate difference-maker in the first half, keeping Vinicius Junior at bay. Hopefully his injury on the hour is not too serious.
Aymeric Laporte - 6
A couple of key blocks early in the second half kept the score at 0-0, but was absent in City's moments of madness.
Ruben Dias - 5
Had little to do for most of the 90 minutes, but was caught out for the goals and gave away a sloppy penalty to compound a horrid 5 minutes.
Joao Cancelo - 4
A quiet return from suspension for Cancelo, who had little to do against a poor Fede Valverde for much of the game. Couldn't get involved in the attacks.
Rodri - 7
Kept the Manchester City attacks flowing and got his hands dirty when necessary. One of few who can emerge from the game with credit.
Kevin De Bruyne - 5
So often Manchester City's pacesetter, the Belgian could not get into the game as he would have liked. Was taken off after 70 minutes.
Bernardo Silva - 8
Manchester City's best player, the Portuguese midfielder waltzed through the game and showed some beautiful touches in midfield as well as producing a key block in his own box.
Riyad Mahrez - 7
A quiet night for the Algerian in the most part, but came up with what looked like the all-important goal for the Cityzens before he was removed.
Gabriel Jesus - 6
Worked hard but to no avail.
Phil Foden - 6
Tested Courtois with a stinging volley in the first half, but was anonymous other than that.
Ilkay Gundogan - 6
Immediately made City better on the ball, and showed some nice touches.
Jack Grealish- 8
Came on as the game began to stretch, and was a menace down the left flank, seeing one shot narrowly wide and one cleared off the line.
Oleksandr Zinchenko - 6
Came on for the stricken Kyle Walker and lost his man twice for Rodrygo to turn the tide in normal time.
Fernandinho - 5
Missed a glorious chance in the first half of extra-time, and could not help his side get back into it.
Raheem Sterling - 5
Came on in extra time, but was unable to make an impact.