Manchester City: Inter Milan (home), PSG (away), Club Bruges (home), Juventus (away), Feyenoord (home), Sporting Lisbon (away), Sparta Prague (home), Slovan Bratislava (away).
Arsenal: PSG (home), Inter Milan (away), Shakhtar Donetsk (home), Atalanta (away), Dinamo Zagreb (home), Sporting Lisbon (away), Monaco (home), Girona (away).
Liverpool: Real Madrid (home), Leipzig (away), Bayer Leverkusen (home), AC Milan (away), Lille (home), PSV (away), Bologna (home) and Girona (away).
Aston Villa: Bayern Munich (home), Leipzig (away), Juventus (home), Club Bruges (away), Celtic (home), Young Boys (away), Bologna (home) and Monaco (away).
Some of the standout clashes: Manchester City and Arsenal taking on French giants Paris Saint-Germain, while Villa face Scottish champions Celtic in a ‘Battle of Britain’ clash.
Villa, competing in the tournament for the first time since 1982-83, have also been drawn against Bundesliga champions Leverkusen in a repeat of the 1982 European Cup final, and 2017 champions Juventus.