Sven Ulreich's huge error ultimately proved decisive as Real Madrid progressed to the Champions League final thanks to a 2-2 draw in an enthralling semi-final second leg at the Santiago Bernabeu.
Madrid came from behind to win 2-1 last week in the first leg at the Allianz Arena, and sealed their progression with a 4-3 aggregate triumph despite an unconvincing performance on Tuesday.
Bayern took the lead in the third minute, Joshua Kimmich opening the scoring following a mistake by Madrid captain Sergio Ramos.
The hosts were quick to reply but it was Karim Benzema and not Cristiano Ronaldo, making an outfield record 152nd appearance in the competition, who took centre stage.
Benzema's close-range header ensured Madrid's deficit lasted only eight minutes, and 21 seconds into the second half he was presented with a gift when Ulreich misjudged a back-pass from Corentin Tolisso.
There was another twist as James Rodriguez, on a two-year loan spell at Bayern from Madrid, levelled the tie on the night with a goal he did not celebrate but, despite intense pressure from the away team, Zinedine Zidane's men held on to move within a win of a third successive European title, and now await Liverpool or Roma in the Kiev final on May 26.
So often the hero at the other end for Madrid in games of such magnitude, it was an error from skipper Ramos that enabled Bayern to get the start they needed.
He failed to clear Thomas Muller's lofted cross into the box and Kimmich was there to pounce and slot home with a first-time finish.
Madrid soon levelled matters on the night, capitalising on slack marking from the visitors.
Marcelo delivered a deep cross from the left and Benzema somehow managed to escape the attentions of the returning David Alaba to head beyond Ulreich.
Yet Madrid continued to look vulnerable at the back and Bayern had a strong claim for a penalty dismissed by referee Cuneyt Cakir, who refused to point to the spot after Ramos appeared to bundle over Robert Lewandowski in the box.
A fine run from Franck Ribery and a clever turn and shot from Muller forced a low save from Keylor Navas, who then denied Lewandowski after a surging run from Mats Hummels, the subsequent looping rebound nodded down by Muller but then fired over on the volley by James as Madrid again somehow survived.
Ulreich turned a low Ronaldo drive wide as the frenetic pace continued, with Ramos heading into the side-netting from the resulting corner, before another Bayern penalty appeal was waved away after Marcelo appeared to handle a Kimmich cross.
But all Bayern's impressive work in the first half was undone in a blink as Ulreich's howler left them with a mountain to climb.
Tolisso played a risky backpass and Ulreich, seemingly caught in two minds as he came to claim it, slipped to present Benzema with the ball on a plate in front of an open goal that he tapped in, despite the best efforts of Hummels.
Navas produced heroics at the other end to turn a vicious deflected Alaba effort behind, and Ramos was again fortunate not to concede a penalty after another challenge on Lewandowski.
The tie should have been put to bed by Ronaldo, but he blazed Marcelo's cross wide with a close-range volley.
And that miss soon loomed large as James gave Bayern hope once more, following up his blocked volley from Nikas Sule's cross and firing through Navas' legs at the near post.
Navas had to get down low to keep out a Muller header as Madrid's nerves were further jangled, but a defence that never looked secure withstood the pressure to put Los Blancos within 90 minutes of a fourth European crown in five seasons.