Cristiano Ronaldo scored a hat-trick to become the first man to reach 100 Champions League goals as Real Madrid overcame 10-man Bayern Munich 4-2 after extra time in Tuesday’s quarter-final second leg to advance 6-3 on aggregate.
The holders will be in Friday’s semi-final draw for a record seventh consecutive year.
But they were pushed all the way by Bayern, who overcame a 2-1 first-leg deficit to send the tie into extra time thanks to Robert Lewandowski’s penalty and an own goal from Sergio Ramos.
However, after Arturo Vidal was sent off, Ronaldo hit the century mark in Europe’s top club competition on 105 minutes before then completing his hat-trick.
And Marco Asensio gave a night of high-class action the finale it deserved with a sensational solo goal to rub salt in Bayern wounds.
The German champions had been beaten on their previous four trips to Spain without even scoring a goal.
However, knowing they needed at least two to progress, Carlo Ancelotti’s men started on the front foot and were left to rue a huge opportunity just eight minutes in.
Marcelo made a miraculous block to deny Thiago Alcantara before former Real winger Arjen Robben scuffed into the side-netting on his trusted left foot.
Much like the first leg six days ago though, Madrid weathered the early storm and had plenty of chances to go in front before half-time.
Manuel Neuer’s fingertips turned Dani Carvajal’s drive behind.
Jerome Boateng then bailed out a rare mistake from his goalkeeper as he cleared off the line from Ramos after Neuer had fumbled a simple cross.
The half-time whistle brought some respite to proceedings on the field, although the Bayern fans were involved in a minor clash with local police at the break.
Security was tight at the Santiago Bernabeu in the wake of an attack on the Borussia Dortmund team bus ahead of their quarter-final first leg with Monaco last week.