Real Madrid coach Carlo Ancelotti survived another breathtaking European night at the Bernabeu as his team unimaginably saw off Manchester City 3-1, (6-5 on aggregate) to book a Champions League final date with Liverpool.
The Los Blancos have played entertaining knockout matches this season - first knocking out PSG in the knockout phase in a thrilling night at the Bernabeu, before doing it on an even higher level against Chelsea.
A Riyad Mahrez goal with 20 minutes to go put Pep Guardiola's side in command, but two late goals in a space of two minutes from Rodrygo forced the match into extra time, where Karim Benzema scored from the spot to send his side to Paris.
Despite having the home crowd behind them, Madrid failed to trouble City in a cagey affair that lacked the first leg fireworks when the two sides met at the Etihad Stadium.
The hosts trailed 4-3 from the match in Manchester and had a poor first half in which they failed to record even a single shot on target.
Benzema and Vincius Jr had half chances to open the scores but failed to trouble Ederson in goal, with the latter skewing his effort way over the bar when put through on goal.
Instead, it was City who came close to scoring in the opening 45 minutes, with Thibaut Courtois called into action on four occasions.
First, the Belgian made a fine save to deny Bernado Silva in the 20th minute after the Portuguese was put through on goal with a neat pass.
Phil Fodden also tested Courtois with a long-range shot, but the Belgian made an easy save.
The second half started with Real Madrid creating the first chance straight from the restart, but Vinicius Jr missed the chance to give his side the lead, with his effort going inches out wide.
Pep Guardiola was forced to make a change in the 70th minute as the returning Kyle Walker picked an injury, and was replaced by Oleksandr Zinchenko.
A few minutes later, Kevin de Bruyne was replaced by Ilkay Gundogan, and the German had an immediate impact.
The midfielder started play in the middle of the park, before feeding Bernado Silva, who drove all the way into the box before laying it nicely for Mahrez to superbly strike home.
City came close to getting a second goal in the 87th minute when Jack Grealish went on a solo run and beat Courtois in goal, but his effort was cleared off the line by Ferland Mendy.
The Englishman had another chance a minute later, but this time Courtois made the faintest of touches to deny him.
City seemed comfortably heading to Paris, until Rodrygo, who was a 68th-minute introduction, prodded home a Karim Benzema ball.
The 21-year-old then headed home two minutes later to give Madrid the lead on the night and tied at 5-5 on aggregate, forcing extra time.
Five minutes into extra time, Benzema was brought down inside the box, with the referee awarding a penalty kick, which the Frenchman coolly slotted to give Real Madrid the lead in the tie.
Despite both sides getting clear chances to add to their tallies, Benzema's goal proved the winner and will now contest the final in Paris.