For the third knockout tie in a row, Real looked down and out. Though this is a team that has become accustomed to improbable heroics, even by its own absurd standards Wednesday's late, late show to secure a 3-1 victory over City was cutting it fine.
With City leading 4-3 from the first leg, Riyad Mahrez's second-half goal had seemingly booked his team passage through to the final in Paris.
However, two goals either side of the 90-minute mark from substitute Rodrygo turned the game on its head and sent the match to extra time.
In truth, it then felt as though there was going to be only one winner.
Just three minutes into extra time, Karim Benzema -- who had been rather anonymous all game by his own high standards -- was fouled by Ruben Dias inside the box and made no mistake dispatching the penalty. That goal secured Real's 6-5 aggregate victory.
No matter how deep of a hole Real seems to find itself in, the magic inside the Bernabeu always seems to pull the team out.
For three successive rounds, Carlo Ancelotti's side has been on the verge of elimination. Now, somehow, it finds itself with a chance to win a record-extending 14th title when it takes on Liverpool in Paris' Stade de France on May 28.
It will be the fifth time Ancelotti has reached the Champions League final as a manager, the only man to have ever achieved that feat.
"A por la 14," read the writing on the back of Real's celebratory shirts. "Let's go for number 14."
Real down, but now out
It took less than eight minutes for tempers to flare for the first time, as Luka Modric and Aymeric Laporte both received yellow cards for their part in a scuffle that was sparked by Casemiro's poor tackle on Kevin De Bruyne.
Casemiro, as he so often inexplicably manages to do, avoided a booking for the foul.
Just a few minutes later, Benzema brought the crowd inside the Bernabeu to its feet for the first time. The Frenchman connected sweetly with Federico Valverde's low cross, but was unable to keep his effort low enough to trouble Ederson in the City goal.
Unsurprisingly, the match was an altogether cagier affair than the electrifying first leg at the Etihad last week. City knew the onus was on Real to try and level the tie and Pep Guardiola's side was content with allowing its opponent more possession that it did a week ago.
Real, at times, seemed unsure how to build its attacks and twice gifted City the ball in dangerous positions, but the team had Thibaut Courtois to thank for making smart saves from De Bruyne and then Bernardo Silva.
Those in white were doing their best to disrupt City's slick attacking moves, especially Casemiro. The Brazilian was again responsible for another cynical foul, this time hauling Phil Foden to the ground by the scruff of his neck and then kicking him in the back of legs.
Referee Daniele Orsato once again inexplicably failed to produce a yellow card.