Manchester City will face Liverpool in an all-English Champions League quarter-final while Juventus have a chance to gain revenge on holders Real Madrid in a repeat of last year's final.
Surprise qualifiers Sevilla take on Bayern Munich while Barcelona were paired with AS Roma in the draw made in Nyon on Friday.
Jurgen Klopp's Liverpool side will host Pep Guardiola's City at Anfield for the first leg, either on April 3 or April 4 as the sides meet for the first time in Europe.
It will also be the first meeting of two English sides in the last eight of the Champions League since Chelsea played Manchester United in the 2010-2011 season.
City's director of football Txiki Begiristain said: "We know each other very well, they are a very offensive team, the truth is it is going to be a great couple of games and we are going to see good football."
Cristiano Ronaldo and his Real teammates will be happy to be playing the second leg of their tie at their Santiago Bernabeu stadium against Juventus, whose experience proved lethal to English club Tottenham in the last 16.
Bayern, aiming to win Europe's top club crown for the sixth time, face Sevilla, the surprise slayers of Manchester United in the last round, but goalkeeper Sven Ulreich said they were relieved to avoid one of their major rivals.
"There are harder draws. It's doable, but Sevilla have shone in Europe and they have won three Europa Leagues," Ulreich said.
"So we'll be very focused when we go over there (for the first leg) and then we'll do the business at home."