Liverpool will play Roma in the Champions League semi-finals, with Bayern Munich facing Real Madrid.
The Reds, who overcame Manchester City 5-1 on aggregate in the quarter-finals, will host Roma on 24 or 25 April before the return leg on 1 or 2 May.
Arsenal will face Atletico Madrid in the Europa League semi-finals, while Red Bull Salzburg meet Marseille.
The Gunners will play the first leg at home on Thursday, 26 April, with the second leg a week later on 3 May.
The Europa League final will be in Lyon, France on Wednesday, 16 May, with the winner guaranteed a place in next season’s Champions League.
The Champions League final will be held in Kiev, Ukraine on Saturday, 26 May.
Liverpool, Champions League winners in 2005, have not faced Roma in a competitive match since March 2002.
The Reds’ top scorer Mohamed Salah will face the club he left for £34m in the summer.
Roma are fourth in Serie A – 21 points behind leaders Juventus.
They staged a remarkable comeback to beat Barcelona 3-0 on Wednesday and win their quarter-final on away goals after a 4-4 aggregate draw.
Minutes before the draw was made, Bayern Munich announced Eintract Frankfurt boss Niko Kovac will replace Jupp Heynckes as their coach at the end of the season.
Heynckes is in his second spell at Bayern, with his first ending with victory in the 2013 Champions League final.
To repeat that feat, he will have to find a way to overcome defending champions Real in the semi-finals, with the German club at home in the first leg.
Real, who have won the competition in three of the past four seasons, reached the last four by coming through a dramatic second leg against Juventus.
Leading 3-0 from the first tie, Zinedine Zidane’s side were pegged back to 3-3 at the Bernabeu, before a last-gasp penalty from Cristiano Ronaldo saw them through.
Zidane has been under pressure this season though, particularly for his team’s league form, with Los Blancos fourth in La Liga and 15 points behind leaders Barcelona.