Chelsea will face Atletico Madrid in the Champions League last 16, while Liverpool play last season’s semi-finalists RB Leipzig.
Chelsea face a tough tie against Diego Simeone’s side, who are second in La Liga, level on points with Real Sociedad with two games in hand.
Manchester City will play German side Borussia Monchengladbach, who are in the knockout stages for the first time in their history.
Liverpool, who were knocked out by Atletico at this stage last season, will head to Germany for the first leg against RB Leipzig.
Julian Nagelsmann’s team reached the knockout stages by beating Manchester United 3-2 in the final game in Group H.
The three English sides all avoided five-time winners Barcelona, who will play French champions Paris Saint-Germain, with Neymar facing off against his former club.
The ties will take place over two legs, with seeded group winners playing away in the first legs and at home in the return matches.
Borussia M’bach vs Man City
Lazio vs Bayern
Atletico vs Chelsea
RB Leipzig vs Liverpool
Porto vs Juventus
Barcelona vs PSG
Sevilla vs Dortmund
Atalanta vs Real