Holders Real Madrid will face English Premier League side Liverpool once again in the Champions League last 16 - a repeat of last season's final - while Paris St Germain will take on German champions Bayern Munich.
Madrid edged Liverpool in a tense final in May thanks to a Vinicius Junior strike.
The pair were pulled out of the hat in Monday's draw in Nyon, Switzerland, having also met in the 2017-18 final, which the Spanish side won as well.
Real have not lost any of their last six games against Liverpool in the Champions League -- five victories and one draw -- winning the two finals and progressing in their only knockout-stage tie, 3-1 and 0-0 in the quarter-finals of the 2020-21 season, in these six meetings.
One of the pre-tournament favourites Bayern and PSG will not go all the way, as the duo meet next, in a season that could be veteran PSG forward Lionel Messi's last chance to add to his four crowns won with Barcelona.
English Premier League sides Tottenham Hotspur and Chelsea have been given tough assignments despite winning their groups, taking on Serie A champions AC Milan and the Bundesliga's Borussia Dortmund respectively.
Premier League champions Manchester City, who were unbeaten in the group stages as they chase their first-ever European Cup crown, will take on German side RB Leipzig.
Fans will have to wait a while for the next round of this season's competition, with the first legs taking place on Feb. 14-15 and Feb. 21-22, and the return fixtures on March 7-8 and March 14-15.
Draw in full:
RB Leipzig v Manchester City
Club Brugge v Benfica
Liverpool v Real Madrid
AC Milan v Tottenham Hotspur
Eintracht Frankfurt v Napoli
Borussia Dortmund v Chelsea
Inter Milan v Porto
Paris St Germain v Bayern Munich
*Team mentioned first will host the first leg