Premier League leaders Manchester City will play Switzerland’s FC Basel, Manchester United face La Liga side Sevilla and Liverpool take on Portugal’s FC Porto.
Holders Real Madrid will face Paris St-Germain.
Premier League champions Chelsea were the only English team to make it through as runners-up, with the other four sides all topping their group.
Group winners will be away in the round of 16 first legs on 13/14 and 20/21 February, and at home in the return matches on 6/7 and 13/14 March.
The final will take place in Kiev on 26 May.
Champions League draw in full;
Juventus v Tottenham
FC Basel v Manchester City
Porto v Liverpool
Sevilla v Manchester United
Real Madrid v PSG
Shakhtar Donetsk v Roma
Chelsea v Barcelona
Bayern Munich v Beskitas