Needing a huge turnaround from the first leg last week, Real seemed to have run out of steam after Gonzalo Higuain, Cristiano Ronaldo and Mesut Ozil passed up early opportunities yesterday.
However, after Robert Lewandowski had smashed the underside of the bar and Diego Lopez prevented Ilkay Gundogan with an incredible save from close range, Madrid were given a lifeline in the 83rd minute when substitute Karim Benzema swept home Ozil's low cross.
But Dortmund withstood the onslaught in an agonising five minutes of stoppage time to seal their place at the final at Wembley next month.
Dortmund coach Jurgen Klopp said Real may have been the better side on the night but it meant nothing as his side had achieved their goal of reaching the final and he was immensely proud of his players.
More From This Section
"It isn't too hard to reveal what I thought during those last 10 minutes: if God wished it then we would qualify for the final," said Klopp.
"From the first second the Real players were doing everything they could to get the referee on their side."
Ramos, who wouldn't have played in the final anyway because he picked up a booking meaning he would have been suspended, said it was a pity Real hadn't played the same way in the first leg.