Manchester United have drawn Paris Saint-Germain in the last 16 of the Champions League, while Liverpool will face Bayern Munich and Tottenham will take on Borussia Dortmund.
Manchester City were drawn against Bundesliga side Schalke, meaning three of the four English teams will face German opposition.
Cristiano Ronaldo will return to the city of Madrid, with Juventus drawn against Atletico.
Full Champions League last-16 draw:
FC Schalke v Manchester City
Atletico Madrid v Juventus
Manchester United v Paris Saint-Germain
Tottenham v Borussia Dortmund
Lyon v Barcelona
AS Roma v FC Porto
Ajax v Real Madrid
Liverpool v Bayern Munich