The Bavarians will host the Blaugrana in the first leg, while Jurgen Klopp's men will play Los Blancos in a pair of group stage rematches.Bayern Munich will face Barcelona in the semifinals of the Champions League, while Real Madrid has been paired with Borussia Dortmund, setting up the possibility for an all-German or all-Spanish final.
The Bavarians have claimed the continent’s top prize on five previous occasions and are desperate to atone for defeat in last year’s tournament decider against Chelsea.
Meanwhile, Barcelona, semifinalists for the sixth year in a row, is seeking its third Champions League title in five seasons. The pairing pits together former Barcelona player and manager Pep Guardiola's old side against the one he is set to take over at the end of the season, as Bayern manager Jupp Heynckes makes way for the Spanish boss.
Barca's Liga rivals Madrid is bidding for its 10th European Cup, while Blancos boss Jose Mourinho is hoping to become the first coach to lift the trophy with three clubs, having previously prevailed with Porto and Inter.
Dortmund has made just one previous appearance in the final, in 1997, when it upset Juventus in Munich. The pairing sets up a two rematches from the group stage, as both Madrid and Dortmund got through this season's Group of Death. Dortmund won the first meeting 2-1, and the two teams played to a 2-2 draw in their second encounter.
The first legs will be played on April 23 and 24, with the return fixtures to come on April 30 and May 1. The final, meanwhile, will take place at London's Wembley Stadium on May 25.