Liverpool will face Roma for a place in this season's Champions League final while Bayern Munich take on defending champions Real Madrid.
The first leg will be played at Anfield, where the Reds are unbeaten in Europe since October 2014, as Mohamed Salah comes up against his former side.
Liverpool beat Manchester City 5-1 on aggregate to reach the semi-finals while Roma stunned Barcelona to progress on away goals.
The other semi-final sees five-time winners Bayern take on a Real Madrid side who are bidding to win a record 13th Champions League title and third in a row.
The first leg takes place at the Allianz Arena, where Bayern are unbeaten in 20 games in all competitions this season.
Madrid are semi-finalists for the eighth consecutive season while Cristiano Ronaldo has scored in 11 successive games in Europe.
Champions League semi-final draw
Bayern Munich v Real Madrid
Liverpool v Roma
First legs to be played on April 24 and 25 with second legs on May 1 and 2.