Bayern Munich will face Chelsea in the Champions League final after beating Real Madrid in a penalty shoot-out following an engrossing semi-final.
Real trailed by a goal from the first leg but two Cristiano Ronaldo strikes - the first a penalty, the second a neat low finish - put them in control.
However, Arjen Robben levelled the tie for Bayern with a spot kick of his own.
No further goals meant a shoot-out, which Bastian Schweinsteiger settled to send his team to a final on home turf.
The midfielder was not his side's only hero in the shoot-out. Goalkeeper Manuel Neuer played a major part, saving Real's first two penalties - from Ronaldo and Kaka as Mario Gomez and David Alaba scored for Bayern.
This was the second time in significant Champions League shoot-outs that Ronaldo had missed from the spot after also failing for Manchester United in the 2008 final against Chelsea. It also means the two players considered the world's best have both missed key penalties in successive days following Lionel Messi's miss for Barcelona last night.
It was a terrible end to the game for the Portuguese winger who had earlier put his side in control with two goals in the first 15 minutes.
The first of these came from the penalty spot as he demonstrated no nerves to stroke home after Alaba had handled Angel di Maria's cross in the box. His second was a superb low finish into the corner of the net after being found by Mesut Ozil in the box.
This set Real on course for the final and a potentially memorable double, following what had been a great week in which they have virtually secured the Spanish title as a result of their victory at Barcelona on Saturday.
It also set up the inticing prospect of a match-up between Real boss Jose Mourinho - looking for an historic third Champions League title with a third different club - against his former club Chelsea, the only major club he has failed to lead to European glory.
Instead it is Jupp Heynckes who can now claim his second European crown on 19 May after leading Real to the trophy in 1998.
His side were simply not prepared to allow their dream of a final on home soil slip away so easily and they hit back with a penalty of their own midway through the first half when Mario Gomez tumbled in the box under a challenge from Pepe and Robben made no mistake from the spot.
It was a fitting reward for the German side who had matched Real in the first half and shown plenty of the attacking intent that Mourinho had warned would mean they were likely to score at the Bernabeu.
Had Gomez demonstrated the sharpness that had brought him 12 goals in the competition this season Bayern could have led at the break but he saw a low shot saved by Casillas and glanced a header wide.
Gomez also had the clearest opportunity of a very tight second half and extra-time but instead of hitting the ball first time with the goal at his mercy he dwelt and Real cleared.
It seemed only fitting a tie that had been so evenly matched over two legs should be settled by a penalty shoot-out.
After Neuer's early heroics, Casillas almost rescued his side with two saves of his own from Toni Kroos and Phillip Lahm, but Sergio Ramos then blazed over for the home side to tee-up Schweinsteiger's moment of glory.
The win came at a cost, though, for the German side, who will be without Alaba, Holger Badstuber and Luiz Gustavo after they picked up bookings