The first legs will be played on April 9 and 10, the second legs on April 16 and 17.
United will play the first leg of their tie at Old Trafford because both they and City cannot play in Manchester on the same evening.
The winner of the all-English quarter-final will take on either Ajax or Juventus in the semi-final.
Meanwhile, Manchester United are on a semi-final collision course with bitter rivals Liverpool if they both progress.
With four Premier League sides in the last eight for the first time since 2009, the probability of two of them meeting was high.
League leaders City will have to overcome the stubborn test of Spurs if they are to keep their hopes of winning an unprecedented Quadruple of trophies alive.
City beat Spurs 1-0 at Wembley in the league back in October and the two sides are set to meet again the weekend after the second leg.
This is the first time City and Tottenham have met in European competition but throughout history they have met plenty of times domestically, with City winning 61 games, Spurs 60 and 35 draws.
Ole Gunnar Solskjaer’s United, who overcame Paris Saint-Germain from 2-0 down in an extraordinary last-16 tie, must topple another European heavyweight in the form of Barcelona.
The match is a repeat of the 2009 and 2011 Champions League finals, both won by Barcelona, though Sir Alex Ferguson’s United did get the better of the Catalans over two legs in the 2008 semi-final.
It is also 20 years since United beat Bayern Munich in the Nou Camp thanks to interim manager Solskjaer’s stoppage-time goal to clinch the Treble.
United and Barcelona have played 11 times in European competition. United have won three times, including a 3-0 win in the second leg of a European Cup Winners’ Cup quarter-final in 1984 and the final of the same competition in 1991.
They also defeated Barca 1-0 in the second leg of the 2008 Champions League semi-final, thanks to a Paul Scholes goal.
But they lost to a Lionel Messi-inspired Barcelona in both the 2009 Champions League final (in Rome, 2-0) and 2011 (Wembley, 3-1).
They met in the group stage of this competition exactly 20 years ago, with both games ending in thrilling 3-3 scorelines.
Liverpool have received a favourable draw in Porto, whom they thrashed 5-0 on aggregate in the last-16 en route to the Champions League final last season.
Liverpool also knocked Porto out of the UEFA Cup in 2000-01 en route to lifting the trophy and beat them 4-1 at Anfield in the 2007-08 Champions League group phase.
The meeting between Ajax, who ended the reign of three-time winners Real Madrid in the last round, and Juventus, is a repeat of the 1996 final.
The two teams last met in the Europa League in 2009-10, when Juventus prevailed 2-1 on aggregate.
Champions League Quarter Finals First Leg
Ajax vs Juventus – Buy Champions League Tickets
Liverpool vs Porto – Buy Champions League Tickets
Tottenham vs Manchester City – Buy Champions League Tickets
Manchester United vs Barcelona – Buy Champions League Tickets
Champions League Quarter Finals Second Leg
Juventus vs Ajax – Buy Champions League Tickets
Porto vs Liverpool – Buy Champions League Tickets
Manchester City v Spurs – Buy Champions League Tickets
Barcelona vs Manchester United – Buy Champions League Tickets