Barcelona face Paris St-Germain in arguably the tie of the round, a repeat of their 2017 classic.
Liverpool will face last season's semi-finalists RB Leipzig in the last 16 of the Champions League, while Chelsea come up against Atletico Madrid.
Manchester City will face Borussia Monchengladbach, who are in the last 16 for the first time since 1978.
Holders Bayern Munich face Italian side Lazio, who are in the knockout stage for the first time in 20 years.
All three Premier League teams will be away for the first leg before having home advantage for the return matches.