Luis Diaz after scoring in Bayern Munich's win over Real Madrid, which booked them a semi-final spot in the Champions League

Munich (Germany) (AFP) - Late strikes from Luis Diaz and Michael Olise sealed a dramatic 4–3 win for Bayern Munich over Real Madrid on Wednesday, clinching a 6–4 aggregate victory and setting up a semi-final with holders Paris Saint-Germain.

The tie was level at the break in the second leg after a scintillating opening half, with record 15-time European champions Real going ahead three times on the night.

Bayern won 2-1 last week in the Spanish capital, but Arda Guler pounced on a loose Manuel Neuer pass to put the visitors ahead after just 34 seconds at the Allianz Arena. He scored again from a free-kick after Aleksandar Pavlovic equalised.

Harry Kane put Bayern back ahead in the tie only for Kylian Mbappe to restore parity overall when he put Madrid 3-2 up before half-time.

Eduardo Camavinga was sent off for a second yellow card with four minutes left and Bayern pushed forward, Diaz blasting into the corner from outside the box after a crucial deflection.

With Real pressing for an equaliser, Olise curled in a magnificent shot to rubberstamp Bayern’s ticket to the last four and keep alive their quest for a seventh European crown. They will head to Luis Enrique’s PSG at the end of the month.

Tempers boiled over after the final whistle with Guler picking up a straight red for confronting the referee.

“We got off to a bad start, and then conceded again through a free-kick and a counter. The first half was hectic,” Joshua Kimmich told DAZN.

“The second half was calmer, we had more control - and then managed to win it in the end. It wasn’t our best performance, but we’ll take the win.

“The two best teams in Europe will face each other. We had many top level games against Paris in recent years. I’m looking forward to it.”

The defeat for Real effectively ended their season as they look set to finish without a major trophy for the second year running. Barcelona hold a nine-point lead in La Liga and Real suffered a shock last-16 exit in the Copa del Rey.

“I feel for them (the players), for the effort they made. It hurts,” coach Alvaro Arbeloa told Movistar. “I’m very proud. We’re going back to Madrid after giving it our all.”

For the first time in Real’s long Champions League history, their starting XI did not contain a single Spanish player. Jude Bellingham, who impressed off the bench in the first leg, was one of four changes to the line-up made by Arbeloa.

- Guler punishes Neuer -

Neuer, widely lauded after a vintage performance in Madrid, gifted Real an opener. The Bayern goalkeeper miscued a pass directly to Guler, who floated a first-touch shot into the unguarded goal in the first minute.

Bayern looked stunned but struck back almost immediately when Pavlovic headed in a Kimmich corner after Real goalkeeper Andriy Lunin failed to read the flight of the ball.

The match had barely time to settle before Real were ahead once more thanks to a Guler goal, with Neuer again not at his best.

The Turkey international whipped a free-kick into the top corner which Neuer got a hand to but was unable to keep out.

The match continued to swing back and forth before the break, as Kane struck first before Mbappe responded by getting himself on the scoresheet.

Kane slotted clinically into the bottom corner in the 38th minute to again haul Bayern level on the night – and ahead in the tie – before Mbappe ran onto a Vinicius Junior pass and slotted home to level the tie 4-4 on aggregate.

With Real regularly cutting into Bayern’s high line, coach Vincent Kompany responded by introducing the pace of Alphonso Davies at the interval.

Both sides traded chances in the second half, with Olise particularly dangerous, forcing a fingertip save from Lunin with 20 minutes left.

Camavinga came on midway through the half but picked up two yellow cards in quick succession to leave his team a man down in the closing stages.

It proved a turning point as Bayern struck three minutes later when Diaz’s effort took a touch off Eder Militao and flashed beyond Lunin.

Olise made certain of Bayern’s progress deep into stoppage time as the German giants took down Real in a knockout clash for the first time since 2012.