Manchester City's reward for reaching the knockout stage of the Champions League for the first time is a meeting with Barcelona, while holders Bayern Munich face Arsenal for the second year in a row following Monday's last 16 draw.
Last season's runners-up Borussia Dortmund will play Zenit St Petersburg while Manchester United were paired with Olympiakos Piraeus.
Real Madrid, seeking a 10th title, play Germany's Schalke 04, while high-flying Atletico Madrid take on AC Milan.
The other ties, to be played in February, feature Bayer Leverkusen v Paris St Germain and Galatasaray v Chelsea, where the Turkish club's Didier Drogba will come face to face with his former employers whom he helped to the 2012 title.
The final is at Lisbon's Stadium of Light on May 24.
The draw of lots were done by former Real Madrid and Portuguese legend Luis Figo.
The pairings:
Manchester City v Barcelona
Olympiakos Piraeus v Manchester United
AC Milan v Atletico Madrid
Bayer Leverkusen v Paris St Germain
Galatasaray v Chelsea
Schalke 04 v Real Madrid
Zenit St Petersburg v Borussia Dortmund
Arsenal v Bayern Munich
Group stage runners-up listing first and will play first legs at home.
First legs to be played Feb 18-19 and 25-26, second legs March 11-12 and 18-19.
Photograph: Lubomir Asenov/Getty Images for Unicredit