Dortmund, who won the first leg 4-1 on the way to a 4-3 aggregate victory, will visit the Bernabeu for the first leg on April 1/2 with the return a week later.
Titleholders Bayern Munich were paired with Manchester United, a meeting that will inevitably spark memories of their 1999 final when United scored two goals at the death to win 2-1.
Paris St Germain face Chelsea and the remaining tie is an all-Spanish affair between Barcelona and Atletico Madrid, the teams' first-ever meeting in European competition.
Poland forward Robert Lewandowski, who scored all four goals in Dortmund's 4-1 win over Real last season, will be suspended for the first match against the nine-times champions.
"That's a big big blow. He is a great player. It was a ridiculous decision," said Dortmund CEO Hans-Joachim Watzke after Lewandowski was booked in the second leg against Zenit St Petersburg for handball.
"We would have liked to get someone else. Real is the world's biggest football club. But there is no easy draw here at this stage. We just have to be as best prepared as possible.
"It will take an enormous effort from everyone to do well. Obviously we had a great team (last year) whether or not we can raise the level of our game we will see."
Bayern, who are on course of a Champions League, Bundesliga and German Cup treble for the second season in a row, promised they would not be taking United likely despite their domestic problems.
"We should not be blinded by their current position in the league because they have outstanding players," said Bayern captain Philipp Lahm.
"We have to perform according to what we can and if we do that we have good chances of reaching the semi-finals."
Barcelona sporting director Andoni Zubizarreta said in an interview with Spanish television broadcaster Canal Plus: "Considering the teams that were in the draw I don't know if we would swap for anyone else as they would all be very tough ties.
"We are seeing in La Liga this season that Atletico are one of the strongest teams in Europe right now."