Late strikes from Karim Benzema and Sergio Ramos set up a dramatic finale in Santiago Bernabeu but Robert Lewandowski's four-goal haul in the first leg last week proved decisive in securing Dortmund's place at Wembley on May 25.
Real exploded out of the blocks and carved out an excellent chance with only four minutes on the clock when Mesut Ozil stole possession after some slack Dortmund defending on the edge of their own box before releasing Gonzalo Higuain into the area, but the striker's shot was saved by the legs of Roman Weidenfeller.
A dramatic 60-second spell saw Lewandowski volley straight at Diego Lopez after being given far too much space by the Real Madrid defence, with play then switching to the other end where Cristiano Ronaldo fired against Weidenfeller when similarly placed.
Dortmund saw key man Mario Gotze limp out of the action in the 14th minute and their defence was opened up again immediately after as Ozil was released by Higuain, but the Germany midfielder dragged his shot wide of the near post when he had time to advance or pick a pass.
Having weathered the early storm, Dortmund gradually gained a foothold in the game and the remainder of the opening period passed with few further defensive alarms, although referee Howard Webb was kept busy by some physical tactics, with Fabio Coentrao going into the book for a nasty challenge on Lewandowski.
The Poland striker had two glorious chances to put the tie to bed early in the second period only to blaze over the top when well placed in the box before smashing an even better opportunity against the underside of the crossbar seconds later after being played in by Marco Reus.
Jose Mourinho made a double change in the 57th minute with Higuain and Coentrao making way for Benzema and Kaka in a bid to find a way through the Dortmund backline which was being superbly marshalled by Mats Hummels.
Diego Lopez then made an outstanding stop to keep Real alive, plunging to his right to block Ilkay Gundogan's close-range shot after Marco Reus' quick-thinking had opened up the home defence, while Lewandowski felt he was pulled back as he headed wide soon after.
Ronaldo, who had been largely subdued by his own high standards, worked a yard of space for himself on the edge of the Dortmund box with 20 minutes to go only to toe-poke his shot over Weidenfeller's bar, with Kaka stabbing an effort the wrong side of the post moments later.
Lewandowski saw another shot blocked by Michael Essien after being found by Reus with Real belatedly breaking the deadlock eight minutes from time when Ozil's teasing centre was converted at close range by Benzema.
After being so assured for so much of the game, Dortmund were suddenly struggling to cope with the waves of Real attacks, with Ramos being set up by Benzema to fire high into the net in the 88th minute, but there was to be no dramatic leveller despite six minutes of added time.
After the final whistle, Dortmund boss Jurgen Klopp was in party mood and promised he would not stop his squad from toasting their success.
He said: "The players deserve some time off after a game like this. I will not deny them that, what kind of muppet would I be if I did?"
Meanwhile, Mourinho admitted Real paid the price for missing several good opportunities.
He said: "My players have given everything. If we had scored earlier, we would have had a chance."