Liverpool will face Real Madrid in the quarter-finals of the Champions League.
Manchester City have been drawn against Borussia Dortmund, while Chelsea play Porto and defending champions Bayern Munich take on Paris St-Germain, the team they beat in last year’s final.
In the semi-finals, the winner of the Real Madrid v Liverpool tie will face Porto or Chelsea and Manchester City or Dortmund will take on Bayern or PSG.
The two-legged quarter-finals will take place on 6-7 and 13-14 April.
The first legs of the semi-final will be on 27-28 April with the return ties on 4-5 May.
Liverpool and Real Madrid met in the 2018 Champions League final with the Spanish club, who have won the competition a record 13 times, winning 3-1.
The two teams have played each other six times in Europe’s top competition, with both winning three games apiece, including Liverpool’s 1-0 victory in the 1981 final.
Premier League leaders Manchester City have only met Dortmund in the group stage of the Champions League, with the English side drawing 1-1 at home and losing 1-0 in Germany in 2012.
Chelsea have played Porto eight times, winning five and losing two, and beat the Portuguese side 3-2 on aggregate in their only knockout tie, which came in the last 16 in 2007.
Quarter-final draw:
Manchester City v Borussia Dortmund
Porto v Chelsea
Bayern Munich v Paris St Germain
Real Madrid v Liverpool
Semi-final draw:
Bayern Munich or Paris St-Germain v Manchester City or Borussia Dortmund
Real Madrid or Liverpool v Porto or Chelsea