Barcelona were pitted against Italian champions Juventus in the Champions League quarter-final draw made on Friday to set up a repeat of the 2015 final which the Spanish side won 3-1.
Bayern Munich coach Carlo Ancelotti will face his former club and defending champions Real Madrid.
Ancelotti was in charge of Real when they hammered Bayern 4-0 away in the second leg of the 2013-14 semi-finals -- the Bavarian side's heaviest European home defeat.
Rank outsiders Leicester will take on Diego Simeone's Atletico Madrid, runners-up in two of the last three seasons, with the first leg at the Vicente Calderon where no English side have won.
Borussia Dortmund face AS Monaco who upset ManchesterCity in the previous round.
Bayern will host the first leg against Real as the two sides renew one of European soccer's oldest and most bitter rivalries.
"The match against Real Madrid will be special for me. It is going to be exciting to play against them," Ancelotti said.
"We have a lot of confidence and want to win the Champions League this season. I think we have the ability to beat Real Madrid. But they have a fantastic team with a fantastic coach."
Juventus will host the first leg against Barcelona and the second will see their full back Dani Alves return to the Nou Camp where the Brazilian made 247 appearances in eight years.
Dortmund chairman Hans-Joachim Watzke was relieved not to draw Bundesliga rivals Bayern.
"We wanted to avoid Bayern, and I think they wanted to avoid us. From that perspective, it is a good draw," he said.
"I saw Monaco's match against ManchesterCity and I am aware that they have a goal difference of +58 in the league. It's a difficult match. At this level, it doesn't really matter if you play at home first."
Quarter-final draw:
Atletico Madrid v LeicesterCity
Borussia Dortmund v Monaco
Bayern Munich v Real Madrid
Juventus v Barcelona