Madrid: Borussia Dortmund survived a stirring Real Madrid fightback to book their place in the Champions League final on Tuesday when they conceded two late goals to lose 2-0 at the Bernabeu but went through 4-3 on aggregate.
Real looked down and out before substitute Karim Benzema scored from close range in the 83rd minute and Sergio Ramos struck five minutes later but with the home fans going wild in the packed stadium Dortmund held on.
Jose Mourinho's Real side had missed several early chances before Dortmund settled and as the hosts committed men forward in the second half the visitors squandered several opportunities of their own before their defence was breached twice.
Dortmund, the European champions in 1997 on their only appearance in the final, will play German rivals Bayern Munich or Barcelona in the May 25 showpiece at Wembley stadium.
With Spanish King Juan Carlos watching from the VIP tribune and chants of "Yes we can!" echoing around Real's giant arena, the supporters unveiled an enormous mosaic depicting the Champions League trophy before kickoff.
Real's fired-up players took the game to Dortmund early on and Gonzalo Higuain drew a smart save from Roman Weidenfeller in the fourth minute.
Dortmund looked nervous but managed to get forward and Robert Lewandowski volleyed straight at Diego Lopez in the 13th minute before Cristiano Ronaldo had an almost identical chance moments later which Weidenfeller again did well to keep out.
After Dortmund playmaker Mario Goetze was forced off injured in the 14th minute, his Germany team mate Mesut Ozil had a golden chance to open Real's account when he was clean through on goal but his low strike flew narrowly wide of the post.
With Dortmund pressuring the Real players and denying them time on the ball, the home support began to get restless as the chances for the hosts started to dry up. By halftime the Dortmund fans were starting to make themselves heard and the "Yes we cans!" seemed increasingly half-hearted.
As the second half began, Real's Portuguese coach Mourinho cut a worried-looking figure on the side of the pitch and striker Benzema immediately began to warm up. Dortmund had two chances early in the second period and both fell to Lewandowski, who scored all four of the German side's goals in last week's 4-1 first leg victory.
The Poland forward struck a wild shot over the bar in the 49th minute and then raced clear onto a Marco Reus pass a minute later but smashed his effort against the crossbar.
Mourinho made a double substitution in the 57th minute when Benzema and Kaka replaced Higuain and Fabio Coentrao but it was Dortmund who looked more threatening by that stage.
Real goalkeeper Diego Lopez somehow managed to scramble across to deny Ilkay Guendogan who had the goal at his mercy and Lewandowski's shot was blocked by Michael Essien in the 76th.
Ozil crossed for Benzema to give Real a sliver of hope seven minutes from time and Ramos then smashed the ball into the roof of the net to set up a frantic finale but it was all too late.