The draw was held in Nyon, Switzerland on Monday.
Madrid will host the first-leg at the Santiago Bernabeu before travelling to the Etihad for the return leg.
Another Premier League side Chelses also got a tough draw as they will square off against Bundesliga giants Bayern Munich.
Bayern will be guests to Chelsea at Stamford Bridge before hosting the reverse fixture.
And in another interesting pairings, current holders Liverpool will go away for the first-leg to face Atletico Madrid at the Wanda Metropolitano.
In other pairings, Napoli will face Barcelona, Tottenham Hotspur will battle RB Leipzig, Borussia Dortmund and Paris Saint-Germain will go head-to-head.
Also Lyon will face Juventus and Champions League debutant this season Atalanta will clash with Valencia.
The first-leg of the 2019/2020 Champions League round of 16 will be played in February
18, 19, 25 and 26 February: Round of 16, first leg
While the return legs will come up in March 10, 11, 17 and 18.
Champions League round of 16 draw:
Real Madrid vs Manchester City
Chelsea vs Bayern Munich
Atletico Madrid vs Liverpool
Tottenham Hotspur vs RB Leipzig
Lyon vs Juventus
Napoli vs Barcelona
Dortmund vs PAY