The German outfit were given little chance of overturning Los Blancos' 3-0 advantage from the first-leg but pushed Carlo Ancelotti's men all the way before bowing out 3-2 on aggregate.
The hosts should have gone behind on 18 minutes but Roman Weidenfeller did brilliantly to keep out Angel Di Maria's tame spot-kick.
And Juergen Klopp's side took full advantage of the reprieve when Reus made the most of a mistake by Pepe to round Iker Casillas and coolly convert.
The midfielder then gave the home support real belief when he crashed in the rebound after Robert Lewandowski hit the post.
Henrikh Mkhitaryan then spurned two glorious opportunities to level the tie on aggregate, firing a shot against the post before being denied by Casillas.
The Spanish stopper was a busy man as Dortmund lay siege to the Real goal late on, but the visitors held firm to reach the last four for the fourth season in a row.
PRE-MATCH: Lewandowski returns, Ronaldo on the bench: Robert returns from suspension to lead the line for Dortmund as they look to pull off mission impossible against a side they thumped 4-1 in Germany last season. Ronaldo is not risked by Real after picking up a knee injury in the first leg. He takes a spot on the bench while Gareth Bale starts.
17' - PENALTY SAVED! Di Maria strikes his spot kick low to the keeper's left, but Roman Weidenfeller gets down well to beat it away after Lukasz Piszczek was penalised for handling Coentrao's cross.
18' - DORTMUND CHANCE! Lewandowski wins the ball on the far left and plays it into Reus. The midfielder shimmies beyond his man and tees up Mkhitaryan who somehow drills wide. He should have scored.
24' - GOAL: Dortmund 1-0 Real Madrid. Pepe commits a howler as his header back drops right into the path of Reus who makes no mistake when he side steps Casillas and fires home with a low finish. Game on?
33' - GREAT SAVE! Reus whips a cross to the far post for Hummels who sees his bullet header tipped over by Casillas.
37' - GOAL! It's well and truly on now! Dortmund 2-0 Madrid. The visitors give the ball away cheaply once again, allowing Reus to race towards goal. He lays it into the path of Lewandowski who hits the post, but Reus follows up to smash the ball high into the net.
65' - OFF THE POST! A wonderful break from Dortmund sees Reus rip Real to pieces before playing in Mkhitaryan, who rounds the keeper and crashes his shot against the post. Agonisingly close for the hosts.
71' - ANOTHER FINE SAVE! Casillas is at it again as the Spain stopper gets down well to beat away Grosskreutz's low shot on the turn. Madrid hanging on.
Marco Reus' double saw him better his overall tally from last season's CL campaign; scoring five goals and notching two assists (In 2012/13 he fired four goals with two assists).
Real Madrid have reached the semi-finals of the Champions League for a fourth season in a row.
Madrid failed to score on their CL travels for the first time in 23 matches.
Real lose for the first time in 11 Champions League matches. Their last defeat was in the semi final defeat at Dortmund last term.
(Stats courtesy of Opta)
TALKING POINT: How long can Dortmund keep hold of Reus? Lewandowski may have been Dortmund's jewel in the crown in recent years, but with the striker all set for his switch to Bayern, it is Reus who has emerged as the Borussia supporters' number one idol. The midfielder was untouchable at times against a star-studded Real outfit and is fast emerging as one of the best attackers in Europe.
MAN OF THE MATCH
Marco Reus (Dortmund): Two goals and a stunning overall display that should have seen him clock up a couple of additional assists. This boy is going to be in-demand this summer.
Dortmund: Weidenfeller 8, Friedrich 7, Hummels 7, Kirch 7, Piszczek 6, Durm 6, Reus 9, Jojić 6, Grosskreutz 7, Lewandowski 8, Mkhitaryan 6. Subs: Aubameyang 5.
Real Madrid: Casillas 7, Pepe 5, Ramos 5, Coentrao 5, Carvajal 5, Bale 5, Alonso 5, Modric 6, Di Maria 5, Illarramendi 4, Benzema 5. Subs: Isco 5, Casemiro 5, Varane 4.
MATCH IN A TWEET
- Sports & Recreation
- Real Madrid
- Marco Reus
- Borussia Dortmund
- Iker Casillas
- Roman Weidenfeller
- Robert Lewandowski
- Angel Di Maria