With more late drama and another magical night at the Santiago Bernabeu Stadium, Real Madrid rallied to defeat Bayern Munich 2-1 (4-3 on aggregate) on Wednesday to reach the Champions League final for the second time in three seasons.

Joselu scored in the 88th minute and then in stoppage time for the record 14-time European champion, which advanced 4-3 on aggregate to set up a final against Borussia Dortmund on June 2 in London.

Bayern had taken the lead courtesy of an Alphonso Davies goal in the 68th.

Joselu’s first goal was a tap in after Bayern goalkeeper Manuel Neuer spilled an easy save. The second was initially called off for offside but was eventually allowed after video review.

It will be Madrid’s record-extending 18th European Cup final, and ninth in the Champions League era, also a record. Madrid beat Liverpool when it last made it to the final in 2022, a season marked by several late comebacks like that one it pulled off on Wednesday.

Six-time European champion Bayern was looking to return to the final for the first time since winning the competition in 2019-20. The loss meant there will be no rematch of the all-German final in 2013, when Bayern beat Dortmund to win its fifth European title.

AS IT HAPPENED | Real Madrid vs Bayern Munich Semifinal, UEFA Champions League 2023-24

Dortmund, the 1997 European champion, eliminated Paris Saint-Germain 2-0 on aggregate on Tuesday.

It was a mostly even match but Madrid created the most significant scoring chances. But it had not been able to get past what was a terrific performance by Neuer, at least not until the final minutes.

The German international dropped an easy ball after a shot by Vinícius Júnior, and Joselu — who came off the bench in the 81st — equalized from in front of the goal. The German-born striker then gave Madrid the lead a minute into stoppage time after a cross by Madrid defender Antonio Rüdiger off the left side.

The linesman initially raised the flag for offside, and it took a few moments before Madrid players and the crowd at the Bernabeu could celebrate the winner.

Davies, who had entered the match in the 27th to replace the injured Serge Gnabry, had given Bayern the lead by beating Rudiger in a one-on-one situation, cutting back toward the middle of the area before firing a right-footed shot into the far corner past Madrid goalkeeper Andriy Lunin.