Two first half goals by Marco Reus, both coming from Real mistakes, gave Dortmund a deserved lead as the Spaniards, who had a penalty saved in the 17th minute, were left mesmerised by the Germans' frantic pace on a rainy evening in the Ruhr valley. (Agencies)
Real, with top scorer Ronaldo left among the substitutes resting a minor knee injury, saw their 3-0 lead from the first leg in Madrid almost evaporate in a disastrous first half after Reus struck in the 24th and 37th minutes for the home side.
Dortmund also had a great chance to level the aggregate score but Henrikh Mkhitaryan's shot hit the post in the 65th.
"That was too much suffering and I think it was deserved," said Real keeper Iker Casillas.
"But from time to time it's good to have this kind of wake up call that reminds us it's not always easy, and especially not in the Champions League.
"It is better that it happened in this game than in the decisive matches to come. We had to show quite a lot of mental strength because going 2-0 down by the 37th minute there were a lot of things going through our heads," he told Spain's TVE.
Real, who twice lost to Dortmund in Germany in last season's competition, including a 4-1 thrashing in the first leg of their semi-final, briefly recovered in the second half before the Germans, last season's runners-up, again surged forward, missing half a dozen clear chances before hitting the post.
The Spanish side's first-leg performance, however, carried them through to their fourth consecutive semi-final, leaving Dortmund to rue missed opportunities.
"We played a very slow game, with many errors and no confidence. After the penalty a bit of fear crept into the team," Real coach Carlo Ancelotti told reporters, adding that Ronaldo was fit but he opted not to risk playing him.
"Every game is difficult at this stage and we saw that today. It was a night of struggling, of suffering but at the end we are just happy to have made it into the semis," he said.
Two first half goals by Marco Reus, both coming from Real mistakes, gave Dortmund a deserved lead as the Spaniards, who had a penalty saved in the 17th minute, were left mesmerised by the Germans' frantic pace on a rainy evening in the Ruhr valley.