Liverpool will play Roma in the Champions League semi-finals, with Bayern Munich facing Real Madrid.
The Reds, who beat Manchester City 5-1 on aggregate in the last round, will host Roma on Tuesday, 24 April with the return leg on Wednesday, 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.
“If anybody thinks this is the easiest draw then I cannot help this person,” said Liverpool boss Jurgen Klopp.
“They obviously didn’t see both games against Barcelona. In the first result, 4-1 was not how the game was – it was Lionel Messi genius against a good side of Roma.
“The second leg was outstanding, it was outstanding what they did. They should have probably won 4-0 or 5-0 – I was really impressed.
“It is just the draw and I know it is very exciting, but it is good because the most important news is we are still in the competition.”