(Real win 4-3 on aggregate)
Holders Real Madrid reached the Champions League final for a third year in a row after taking advantage of Bayern Munichs carelessness in attack and defence to draw their semi-final second leg on Tuesday, winning 4-3 on aggregate.
Bayern defender Joshua Kimmich put them in front in the third minute but Karim Benzema levelled with a free header in the 11th and a goalkeeping howler from Bayerns Sven Ulreich allowed Benzema to tap in Madrid's second at the start of the second half.
James Rodriguez, on loan from Madrid, hit a deserved equaliser for Bayern in the 63rd to set up a gripping finale but despite waves of pressure from the visitors, the Spaniards clung on, becoming the first team since Juventus in 1998 to reach the final for three years in succession.
They will meet either Liverpool or AS Roma in the final in Kiev on 26 May, where they will be bidding to become the first side since Bayern in 1976 to win the competition three years in a row.
Defeat was harsh on Bayern, who dominated large spells of the game.
Knowing they needed to score at least twice, the Germans went straight on the attack and set the tie alight as they snatched the lead after just three minutes.
Franck Ribery sent the ball out wide and Corentin Tolisso whipped in a cross from the right. Sergio Ramos should have dealt with it but failed to clear and Kimmich pounced from close range.
Real responded quickly and Cristiano Ronaldo went close to levelling as he fired wide from six yards.
The equaliser came after 11 minutes as Mateo Kovacic spread play and Marcelo delivered a superb cross to the back post. He picked out an unmarked Benzema, who rose to power home a header.
Bayern dealt well with the setback and could have reclaimed the lead as Ribery teed up Thomas Muller but his shot was tame.
The visitors then spurned a gilt-edged opportunity just after the half-hour mark as Rodriguez volleyed over from in front of goal after Keylor Navas saved from Robert Lewandowski.
Ronaldo forced a save from Ulreich at the other end before Ramos headed into the side-netting from the resulting corner.
Bayern finished the first half in the ascendancy but they could not find a way back in front as Tolisso curled a shot wide.
Ulreich's gaffe handed Real the lead in the first minute of the second half.
Tolisso's backpass was poorly hit but Ulreich, realising too late he could not handle, completely missed the ball attempting to kick it and Benzema stole in for his second.
Still Bayern were not killed off and Navas did well to save a powerful shot from David Alaba which took a wicked deflection. Mats Hummels and Niklas Sule were also thwarted as Bayern stepped up the pressure.
Ronaldo side-footed over from six yards but the German side regained control and levelled on the night as Rodriguez struck at the second attempt after his initial shot was blocked by Raphael Varane.
Tolisso forced another save from Navas before Rodriguez had another effort blocked as Bayern sought a clinching goal.
They pressed to the end, forcing Real into a rearguard action, but could not find a way through.