Two goals in the dying minutes from Rodrygo saved Real Madrid and sent the tie to extra time.
CNN  — 

Real Madrid battled back from the brink of elimination to overcome Manchester City and book its place in the Champions League final.

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.

Karim Benzema celebrates after scoring the winning penalty.

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.

Manchester City was boosted by the return of Kyle Walker.

More Bernabeu ‘magic’

Much of the conversation after the first leg was around City’s inability to put the tie to bed, as it allowed Ancelotti’s side route back into the game time and again.

This current Real team may not be at the level of previous iterations, but heading to the Bernabeu with just a one-goal advantage remains a daunting task. There is just something intangible – almost mystical – that hangs in the air on a Champions League night in this stadium.

Real fans have already been treated to spectacular comebacks twice in recent ties; most recently against Chelsea in the quarterfinals and previously against Paris Saint-Germain.

All this crowd needs is a small moment to get behind its team and push Real’s players to heights they perhaps doubted they could reach.

“That energy … that the fans emit, players – even more in matches [like against PSG] where we had to mount a comeback in a difficult Champions League game – feel it,” defender Nacho told CNN about the Bernabeu atmosphere.

“It hits us and on nights such as that, it hits us on a whole different level. The Bernabeu is special on nights like that … you think about it and get goosebumps. You get goosebumps thinking about experiencing nights like that because they’re historic, they’re magic.”

The match was a lot cagier than the first leg in Manchester.

It’s Nacho’s use of the word “magic” that feels most accurate on Champions League nights. In games such as these against City, when nerves can often take a hold on both sets of players, those moments of magic can decide the tie.

Real perhaps thought it had found such a moment inside the opening minute of the second half, but Vinicius Jr. was unable to direct Dani Carvajal’s immaculate low cross towards goal when alone at the far post.

Vinicius’ ability to find so much space at the far post was largely due to Kyle Walker being out of position, with the City right-back hampered by injury; Walker missed the first leg with a knock and his makeshift replacement Fernandinho was terrorized by Vinicius all evening.

Walker was patched up and rushed back in time for the second leg, as City knew he was its best chance at combating Vinicus’ blistering pace. However, despite numerous attempts from the City medical staff to save his night, the injury eventually forced Walker off.

In his place, on came Oleksandr Zinchenko and, perhaps somewhat surprisingly, Guardiola also brought on Ilkay Gundogan in place of De Bruyne – and it took less than a minute for his double substitution to have an impact.

Zinchenko and Gundogan combined to find Silva in acres of space heading towards the Real goal and the midfielder’s sideways pass found the onrushing Mahrez, who thundered a first-time shot past Courtois into the top corner.

Riyad Mahrez celebrates after opening the scoring on the night.

As the match drew to a close, substitute Jack Grealish twice came close to doubling City’s lead on the night and sending his team to Paris.

But just when fans were finally starting to believe that “magic” wasn’t real, Real once again proved that it just might be.

Two quick-fire goals from substitute Rodrygo – the first an instinctive tap-in and the second a brilliant header – either side of the 90-minute mark sent a previously silent Bernabeu into raptures.

From a side that had looked so down and out literally seconds ago that much of the stadium had started to empty, Real was now looking the most likely to win this tie.

City had its back to wall for most of the six minutes of injury time and was likely even grateful to hear the full-time whistle as the Real onslaught continued.

But Guardiola’s side were only offered a moment’s respite before the bombardment restarted and it took just three minutes of extra tie for Real to take the lead in this tie for the first time.

Dias’ rash challenge in the box brought down Benzema, who dusted himself down and calmly slotted the ball into the bottom right corner.

And that was that. A shell-shocked City side never looked like it would regain enough composure to find a way back into the tie.

For all Guardiola’s tactical tinkering and meticulous preparation, it seems nobody can find any way to stop what happens at the Bernabeu. Nobody can find a way to halt Real Madrid’s “magic.”