Holders Real Madrid reached the Champions League final for the third year in a row after Karim Benzema scored twice in a 2-2 draw with wasteful Bayern Munich to win their semi-final, second leg 4-3 on aggregate.
Bayern defender Joshua Kimmich had put the visitors ahead after three minutes but Benzema levelled with a free header in the 11th. A goalkeeping howler from Sven Ulreich then allowed Benzema to tap in Madrid's second just after the break.
James Rodriguez, on loan from Madrid, equalised for Bayern in the 63rd to set up a gripping finale but Real held on despite waves of pressure to become the first team since Juventus in 1998 to reach the final for three years in succession.
They will meet Liverpool or AS Roma in the final in Kiev on May 26, where they will bid to become the first side since Bayern in 1976 to win the competition for three straight years.
Liverpool lead that tie 5-2 heading into tomorrow's second leg in Italy.
"This club's DNA pushes you to fight until the end. We knew how to suffer together," Real captain Sergio Ramos said. "They had more possession but overall we were better. This team deserves to be in Kiev."
Real rode their luck to win the first leg in Munich 2-1 after Bayern had missed a slew of chances and Zinedine Zidane's side made the most of their few opportunities.
Madrid fans unfurled a giant banner before kickoff stating "We will defend the throne, we will capture glory", but Bayern launched an early assault on their kingdom as David Alaba rushed forward only to pass into the hands of keeper Keylor Navas.
Bayern came back down the other flank and landed their first punch when Ramos failed to clear a cross and Kimmich gleefully knocked the ball home from close range.
It was the third consecutive home game in the Champions League knockout stages that Madrid had fallen behind, but they kept their composure and soon found an equaliser.
A superb cross-field ball from diminutive midfielder Luka Modric was controlled by Marcelo who delivered the perfect cross for Benzema to nod calmly in at the back post.
An end-to-end game ensued, with the midfield frequently bypassed with long balls up to the forwards.
Bayern could have re-taken the lead but striker Robert Lewandowski was foiled by Madrid goalkeeper Navas and Rodriguez sent the rebound flying over the bar from close range.
Bayern finished the half strongly but were left fuming at a failed penalty appeal when Kimmich's shot struck Marcelo's arm.
They contributed to their own demise, though, when Ulreich lost his footing as he tried to control a backpass from Corentin Tolisso, allowing Real's much-maligned striker Benzema to tap in what proved to be the killer blow.
Bayern did create chances before and after Rodriguez's goal but Navas denied the Colombia international while Mats Hummels headed wide from a corner in stoppage time.
It was Bayern's fifth consecutive Champions League exit to a Spanish side, and their third to Madrid in that time.
"We feel extremely bitter," said Bayern defender Hummels. "We had chances in the first leg, we were more dangerous today (than Madrid) but in the end Real made fewer big mistakes."