Tottenham have been drawn against Manchester City in an all-English Champions League quarter-final tie, while Manchester United will face Barcelona.
In the other two ties, last season's finalists Liverpool were drawn against Porto, while Real Madrid's conquerors Ajax will face Juventus in a rematch of the 1973 and 1996 finals.
United and Barcelona have met twice in the final, in 2009 and 2011, with the Catalan giants winning on both occasions.
The draw means a return to Nou Camp for United Ole Gunnar Solskjaer, who scored a stoppage-time winner in United's Champions League final win over Bayern Munich in 1999.
United, initially drawn away, will play at home in the first leg to avoid a clash with City, who will host Spurs in their second leg.
The first legs of the quarter-final ties will take place on April 9 and 10, with the second legs coming a week later on April 16 and 17.
Spurs will travel to the Etihad Stadium in the Premier League on April 20, live on Sky Sports, meaning the two sides will play three times in the space of 10 or 11 days.
Liverpool's quarter-final against Porto will be a repeat of last year's last-16 tie which Jurgen Klopp's side won 5-0 on aggregate.
Former Liverpool goalkeeper Chris Kirkland was delighted by the draw, telling Sky Sports News: "I'd prefer being at home for the second leg but I'm extremely happy.
"Let's not disrespect Porto because they got to this stage for a reason, but they won't be looking forward to that tie."
Speaking about Manchester United's tie with Barcelona, former Old Trafford boss David Moyes said: "It's an incredibly tough draw but a great draw. After beating Paris Saint-Germain you can take anybody on.
"A great occasion, the sort of games that Manchester United are used to and it will be a great night."
The draw was also made for the semi-finals, where United would meet Liverpool, should both progress to the last four. Tottenham or Manchester City will face the winner of the quarter-final between Ajax and Juventus.
Champions League quarter-final draw
Ajax vs Juventus
Liverpool vs Porto
Tottenham vs Manchester City
Barcelona vs Manchester United
Champions League semi-final draw
Tottenham or Manchester City vs Ajax or Juventus
Manchester United or Barcelona vs Liverpool or Porto