Real Madrid controversially secured progression to the Champions League semi-finals at the expense of Bayern Munich after a Cristiano Ronaldo hat-trick and a superb solo goal from Marco Asensio at the Bernabeu.
A Robert Lewandowski penalty and a Sergio Ramos own goal took the game to extra time, but the visitors, who had Arturo Vidal controversially sent off, were eventually eliminated after yet another Ronaldo hat-trick - two of which were discovered to be offside - and a goal from Asensio.
After a slow start to the game, Bayern kicked into gear and should have taken the lead in the ninth minute when David Alaba's low cross found Thiago Alcantara in the box, but Marcelo was on hand to deny the La Masia graduate at point-blank range.
The Spaniard was involved again in the 16th minute when the German side looked set to catch Los Blancos on the break, but Thiago's through ball was too heavy for Arjen Robben and Keylor Navas managed to clear his lines.
The hosts were kept quiet by Bayern's domination of the ball, but in the 25th minute Dani Carvajal went agonisingly close with a powerful drive from range - Manuel Neuer just managed to tip the ball past the post.
Just moments later, the German shot-stopper nearly had a horror moment when he spilt Carvajal's cross, but fortunately Jerome Boateng was able to block Ramos' shot on the line from the rebound.
The hosts should have been 1-0 up in the 36th minute when Ronaldo burst through on goal after a lovely through ball from Luka Modric, but the Portuguese superstar took an eternity to get his shot away and fired tamely at Neuer.
The tie continued in the same frenetic manner in the second half with Bayern desperate to break the deadlock and they were millimetres away from doing so in the 50th minute, but Marcelo was on hand again to deny Robben on the line after Alaba's pull back.
Moments later, the Dutchman was fouled by Casemiro in the box to earn the visitors a penalty which Lewandowski cooly slotted home to put the tie on a knife-edge.
Robert Lewandowski in all competitions for Bayern Munich this season:
39 goals ⚽
Such composure. pic.twitter.com/djx7i6YZnp
— Squawka Football (@Squawka) April 18, 2017
Madrid seemed content with sitting deep after the goal with Bayern struggling to break them down and on the counter, Carvajal should have done better in the 71st minute, but the full-back selfishly attempted a shot when Asensio was in acres of room.
But, four minutes later, Los Blancos had their goal after Casemiro's floated ball into the box was met by the head of the ever-dependable Ronaldo.
The chaos did not stop there as a minute later, a seemingly harmless ball into the Madrid box caused mass panic and Ramos tapped the ball into his own net to even up the tie.
— FC Bayern US (@FCBayernUS) April 18, 2017
The drama was turned up yet another notch in the 84th minute when Bayern's villain from the first leg, Vidal, received his second yellow card for a full-blooded challenge on Asensio. However, replays show that the Chilean clearly won the ball.
Real could not make the man advantage count in normal time and an extra 30 minutes was needed to settle the outcome.
The 10-men should have actually capitalised on the attack-minded Los Blancos in the first-half, but Douglas Costa could not find Joshua Kimmich unmarked in the box after a lightning-quick counter orchestrated by Robben.
However, just as the second period of extra time approached, Ronaldo levelled the game after Ramos found him unmarked in the box and he fired past Neuer; but, to add yet more controversy, the Madrid forward was offside.
The tie was sealed in the 110th minute when Marcelo burst through the tired Bayern midfield and put it on a plate for Ronaldo to slot into an empty net and claim his hat-trick.
Ronaldo has often looked completely out-of-sorts tonight, but has scored a perfect hattrick. He defies logic.
— Michael Cox (@Zonal_Marking) April 18, 2017
The goals kept coming as two minutes later, Asensio glided through a weary defence and thumped the ball past Neuer into the bottom corner to seal an emphatic victory for the holders.
— Real Madrid C.F. (@realmadridfra) April 18, 2017
— FC Bayern English (@FCBayernEN) April 18, 2017