Bayern’s one-goal advantage from the first leg was cancelled out after 35 seconds, as Manuel Neuer wandered outside his area in possession and misplaced a pass straight to Arda Guler, whose first-time hit from 35 yards was in the net when the goalkeeper had only just got back inside his box.
But the early setback failed to trouble the hosts, who equalised on the night five minutes later when Aleksandar Pavlovic nodded Joshua Kimmich’s corner past the floundering Andriy Lunin.
Bayern enjoyed the bulk of the territory for the rest of the opening quarter, yet the clearest chance belonged to Real, but after being played through, Kylian Mbappe was denied by a superb block from Konrad Laimer.
Kimmich was instrumental at another corner in the 27th minute, as he received a pass after the set-piece was worked short, but his fierce shot was palmed away well by Lunin.
The Ukrainian’s redemption proved crucial two minutes later, when Los Blancos won a free-kick 25 yards out and Guler proved he was capable of beating Neuer from range when the keeper was in position by curling it into the top corner.
Again, the response was strong from Vincent Kompany’s side, and after Serge Gnabry and Pavlovic tested Lunin, Dayot Upamecano slipped an incisive pass through to Harry Kane, who took a touch to set himself before burying it in the bottom corner and restore Bayern’s aggregate lead.
In the final five minutes of the half, Vinicius Junior took centre stage.
First, he latched onto a long Brahim Diaz ball forward and curled the ball onto the top of the crossbar. Then on the next attack, he used his pace down the left wing before squaring for Mbappe to roll the ball home and give Real their third lead of the night.

The hosts would have been level within a minute of the second half starting but for Jude Bellingham diverting Luis Diaz’s strike wide, before Upamecano headed over from the resulting corner.
Los Blancos then had the opportunity to go ahead in the tie, but Mbappe’s side-foot volley was met by a strong hand from Neuer.
Bayern continued to have the lion’s share of the ball, and though sitting deep worked for Real, they still needed Lunin’s fingertips to deny a Michael Olise drive, but they threatened on the break, as Federico Valverde stung the gloves of Neuer.
As the final 15 minutes approached, Olise’s free-kick from out wide was inexplicably headed wide by the unmarked Upamecano.
With four minutes of the 90 to play, the German side were given a huge boost when Eduardo Camavinga received a second booking for throwing the ball away following a foul, and Bayern took less than three minutes to make the man advantage count.
Luis Diaz played a delightful one-two with Jamal Musiala before his strike from 20 yards deflected off Eder Militão and out of Lunin’s reach.

That secured a 17th match unbeaten in all competitions for Bayern, but they set up a tantalising last-four tie with Paris Saint-Germain in style, as Olise curled in a winning goal with the final kick of the game.
For the 15-time champions Real, it’s just a second quarter-final exit in their last 14 attempts.
Flashscore Man of the Match: Joshua Kimmich (Bayern Munich)
