The Bavarians will host the Blaugrana in the first leg, while Borussia Dortmund will welcome Real Madrid to Signal Iduna Park.
The Bavarians have claimed the continent’s top prize on four previous occasions and are desperate to atone for defeat in last year’s tournament decider against Chelsea.
However, to do so they will have to go through Barca, who are seeking their third Champions League title in five seasons. The two sides will first meet at the Allianz Arena before locking horns again in Catalunya a week later.
The other semi-final sees Madrid renew hostilities with Dortmund, whom they faced in this year's group stages, Jurgen Klopp's men upsetting los Blancos at Signal Iduna Park in October before picking up a precious point at the Santiago Bernabeu just a couple of weeks later.
However, los Blancos, who will host the second leg, are bidding for their 10th European Cup, while boss Jose Mourinho is hoping to became the first coach to lift the trophy with three different clubs, having previously prevailed with Porto and Inter.
Dortmund have made just one previous appearance in the final, in 1997, when they upset Juventus in Munich.
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 Wembley on May 25, with the winner of Dortmund's meeting with Madrid having being designated as the 'home' team during Friday's draw in Nyon.