Borussia Dortmund held off a storming late Real Madrid surge to book their place in the Champions League final at Wembley as the Spanish giants' 2-0 victory was too little, too late.
Madrid, trailing 4-1 from the first leg in Germany, looked down and out with the score on the night 0-0 with eight minutes to go, but two quick goals produced a grandstand finish to a pulsating game.
Karim Benzema pulled one back and Sergio Ramos added another in the 88th minute, but Dortmund stood firm amid a frenzied atmosphere to seal a 4-3 aggregate win.
It is Dortmund's second appearance in the Champions League final following their 1997 triumph, and this time it looks set to be an all-German affair, with Bayern Munich going into their semi-final second leg against Barcelona leading 4-0. And it ended Jose Mourinho's hopes of leading Madrid to glory in Europe's top club competition in what could be his last season at the Bernabeu.
Madrid began with the intensity the occasion demanded. They won a corner within the first 30 seconds and Gonzalo Higuain was put through on goal by Luka Modric after just four minutes, but he shot straight at Roman Weidenfeller.
Mesut Ozil was presented with a great chance and had just Weidenfeller to beat after a pass from Modric, but the German midfielder aimed his shot a foot wide of the near post.
Madrid kept on the attack early in the second half, but left themselves very exposed to the counter attack when they surrendered the ball. Robert Lewandowski ,the hero of the first leg, blazed over from 10 yards out and moments later crashed a shot against the underside of the crossbar following a pass from Marco Reus.
Madrid were outnumbered as Dortmund launched another break and Reus combined with Kevin Grosskreutz to play in IIkay Gundogan five yards from goal, but Diego Lopez leapt across the goal superbly to keep the shot out.
Madrid got themselves back in the tie when Benzema slotted home from close range after a cut back from Ozil with six minutes remaining. And then Ramos smashed his shot into the roof of the net after a cut back from Benzema to set up a tense finale
The Bernabeu became a cauldron of noise, but Madrid had just two minutes of normal time, plus five minutes of added time, to get that all important third goal. Madrid got another corner a minute into stoppage time. Diego Lopez ran up from his goal to contest it, but the ball fell to Ramos, who headed a few feet wide and Dortmund held on.