Arsenal face a difficult test against Bayern Munich, while Celtic will face Juventus - who they beat when the two sides last met.
Champions League last-16 draw: Madrid land Man Utd, Barcelona face Milan
Cristiano Ronaldo scored 118 goals in 292 appearances for United, but it was another Ronaldo - the Brazilian striker - who took the honours when the clubs last faced each other in 2003, scoring a hat-trick at Old Trafford as Real went through 6-5 on aggregate.
The clubs first met in the European Cup in April 1957, when Real triumphed 5-3 in the semi-final.
Scottish side Celtic were handed a tough test after being drawn against Juventus in their last-16 clash.
Celtic, who famously defeated Barcelona during the group stage, will host the Italian champions before becoming the first Scottish side to visit the new Juventus stadium.
The Glasgow side beat Juventus over two legs the last time they met, in 2001.
"In terms of glamour it's great, in terms of qualification it is going to very tough, but it could have been any of the other teams and it would have been just as tough," said Neil Lennon, the Celtic coach.
Arsenal, runners up in their group, will face the challenge of overcoming Bundesliga leaders Bayern Munich in their tie.
Barcelona, who reached the final last time it was held at Wembley Stadium in 2011, were handed perhaps the tie of the round after being drawn against Italian giants AC Milan.
The full Champions League last-16 draw:
Galatasaray v Schalke
Celtic v Juventus
Arsenal v Bayern Munich
Shakhtar Donetsk v Borussia Dortmund
AC Milan v Barcelona
Real Madrid v Manchester United
Valencia v Paris St Germain
Porto v Malaga
First legs to be played Feb 12/13 and 19/20, second legs March 5/6 and 12/13.