United, who beat Real Sociedad 4-0 on aggregate in the previous round, will face the seven-time European champions in a two-legged encounter after they squeezed past Red Star Belgrade on away goals.
The tie will pit Zlatan Ibrahimovic against his former club in United, where he won the 2017 edition of the Europa League.
The Swede has been in fine form this season as Milan bid for a first Italian league title since 2011, scoring 14 Serie A goals in 13 appearances at the age of 39.
United will be considered favourites for the tie however as they sit second in the Premier League having lost just once in the English top flight since the start of November.
🔥 Round of 16 draw! 🔥Best game? 🤩#UELdraw https://t.co/LlPsMyZjgo
— UEFA Europa League (@EuropaLeague) 1614342166000
Milan meanwhile have surrendered top spot in Serie A to neighbours Inter Milan after a run of three defeats in five league matches which has Stefano Pioli’s side looking over their shoulder at a host of rivals for a place in the Champions League.
Ajax will fancy their chances against Switzerland’s Young Boys after the four-time European champions eliminated Ligue 1 leaders Lille on Thursday.
Granada were rewarded for making the last 16 in their first ever European campaign with a tie against Norway’s Molde, while Roma coach Paulo Fonseca will be reunited with his old team Shakhtar Donetsk.
United’s fellow Premier League teams Tottenham Hotspur and Arsenal will face Dinamo Zagreb and Olympiakos respectively. Rangers take on Slavia Prague after dumping out Royal Antwerp 9-5 on aggregate.