Real Madrid will bid for a record-extending 15th title against Borussia Dortmund at Wembley on June 1.
Real Madrid showed they remain Europe's comeback kings as Joselu's late double rescued them from the brink of elimination to reach the Champions League final with a dramatic 2-1 second leg win over Bayern Munich at Santiago Bernabeu on Wednesday.
A 4-3 aggregate victory sealed Real's progress to a remarkable sixth Champions League final in 10 years and they will bid for a record-extending 15th title against Borussia Dortmund at Wembley on June 1.
In a repeat of their spectacular semi-final comeback win over Manchester City two years ago, they saw their opponents take the lead after Bayern substitute Alphonso Davies fired home a stunning strike from a counterattack in the 68th minute.
But Joselu climbed off the bench to equalise following a calamitous error from Manuel Neuer in the 88th minute and, two minutes later, he shinned a second into the Bayern goal from a cross by Antonio Ruediger.
The effort was first ruled out for an apparent offside, but the goal was given following a VAR check.
"We've seen it a lot of times this season when it looked as though we're dead and buried ... it doesn’t matter who scores the goals, but someone always manages it... that mentality of never say die," Jude Bellingham, who will play against his former club in the final, told TNT Sports.
Real dominated proceedings but misfired with several chances as a gritty Bayern put their domestic woes aside to almost eliminate the Spaniards in their own back yard.
Davies, who came off the bench early in the first half in place of injured Serge Gnabry, opened the scoring in spectacular fashion, cutting back on his right foot and curling an unstoppable bullet of a shot into the far corner on a counterattack.
But Real, who were the better side throughout the game, piled on the pressure with Vinicius Jr tormenting the visitors down the left channel.
The Brazilian glided past Matthijs De Ligt and Joshua Kimmich effortlessly and created a number chances for himself and his teammates, who were denied several times by an inspired Neuer.
The Bayern keeper looked on course to be man of the match as he weathered a storm, but with minutes remaining he fumbled a Vinicius strike from the edge of the box to gift Joselu the equaliser.
The goal recharged a raucous Santiago Bernabeu under their spectacular new roof and two minutes later Real worked their European magic again, snatching a deserved winner that fired the Spanish giants into another final.
Bayern made a late push for an equaliser which they thought they had found when defender De Ligt rifled the ball home deep in added time.
But play had already been stopped after the linesman flagged for a debatable offside in the build-up, leading Bayern's players and bench to complain vociferously to the referee and his assistants.
"We all know the rules and it's clear that, if it's not an obvious offside, you have to let it play. It was a disgraceful call," De Ligt said.
With Bayer Leverkusen ending Bayern's 11-year Bundesliga reign by securing the league title last month, the six-times European Cup winners had only one trophy left to fight for this season.
"We are almost through, it's almost there and there was a very unusual mistake from our best player for the equaliser then we conceded the second one in stoppage time," Bayern boss Thomas Tuchel said.
"Then we scored one and there was a disastrous decision from the linesman and the referee. It feels like a betrayal in the end."