Liverpool have been drawn to face Real Madrid as part of the Champions League's revamped 36-team league format, while Barcelona head coach Hansi Flick will return to Germany to face his former employers Bayern Munich.
Bayern will face Barça in the competition for the third time in the past four seasons. The German club has won the past six meetings, including an 8-2 quarterfinal victory on its way to lifting the Champions League in 2020 under Flick.
The draw, which was conducted by a combination of Gianluigi Buffon, Cristiano Ronaldo and UEFA's supercomputer, also produced heavyweight clashes including Manchester City against Paris Saint-Germain and a repeat of last year's final: Borussia Dortmund vs. Madrid.
Arsenal managed to avoid some of the most daunting teams from Pot 1 as they were drawn to play against PSG and Inter Milan. Aston Villa will face Bayern for the first time since they beat the Bundesliga giants in the 1982 European Cup final.
As well as hosting Real Madrid, Liverpool will also be reunited with former midfielder Xabi Alonso when he takes his Bayer Leverkusen team to Anfield. Alonso was heavily linked with the manager's job at Liverpool after Jürgen Klopp's shock announcement in January that he would be resigning from the role.
In the competition's new system, each team will play eight games before the knockouts -- two more than previous years -- with the final round of matches taking place on Jan. 29.
Each team was drawn against eight different opponents -- four matches at home, and four away -- two from each of the four seeded pots.
Teams from the same league could not be drawn against each other, and each club can play no more than two teams from one country.
The top eight teams will progress directly to the round of 16. Teams finishing between ninth and 24th place will advance to a knockout playoff stage, while the bottom 12 teams will be eliminated.
The dates, times and order of each team's fixtures will be announced Saturday.
Champions League draw
Manchester City: Inter Milan (H), PSG (A), Club Brugge (H), Juventus (A), Feyenoord (H), Sporting Lisbon (A), Sparta Prague (H), Slovan Bratislava (A)
Arsenal: PSG (H), Inter Milan (A), Shakhtar Donetsk (H), Atalanta (A), Dinamo Zagreb (H), Sporting Lisbon (A), Monaco (H), Girona (A)
Liverpool: Real Madrid (H), RB Leipzig (A), Bayer Leverkusen (H), AC Milan (A), Lille (H), PSV (A), Bologna (H), Girona (A)
Aston Villa: Bayern Munich (H), RB Leipzig (A), Juventus (H), Club Brugge (A), Celtic (H), Young Boys (A), Bologna (H), Monaco (A)
Real Madrid: Dortmund (H), Liverpool (A), AC Milan (H), Atalanta (A), Salzburg (H), Lille (A), Stuttgart (H), Brest (A)
Barcelona: Bayern Munich (H), Dortmund (A), Atalanta (H), Benfica (A), Young Boys (H), Red Star Belgrade (A), Brest (H), Monaco (A)
Atlético Madrid: RB Leipzig (H), PSG (A), Bayer Leverkusen (H), Benfica (A), Lille (H), RB Salzburg (A), Slovan Bratislava (H), Sparta Prague (A)
Bayern Munich: PSG (H), Barcelona (A), Benfica (H), Shakhtar Donetsk (A), Dinamo Zagreb (H), Feyenoord (A), Slovan Bratislava (H), Aston Villa (A)
Bayer Leverkusen: Inter Milan (H), Liverpool (A), Atlético Madrid (A), AC Milan (H), RB Salzburg (H), Feyenoord (A), Sparta Prague (H), Brest (A)
Borussia Dortmund: Barcelona (H), Real Madrid (A), Shakhtar Donetsk (H), Club Brugge (A), Celtic (H), Dinamo Zagreb (A), Sturm Graz (H), Bologna (A)
Inter Milan: RB Leipzig (H), Man City (A), Arsenal (H), Leverkusen (A), Red Star Belgrade (H), Young Boys (A), Monaco (H), Sparta Prague (A)
AC Milan: Liverpool (H), Real Madrid (A), Club Brugge (H), Bayer Leverkusen (A), Red Star Belgrade (H), Dinamo Zagreb (A), Girona (H), Slovan Bratislava (A)
Juventus: Man City (H), RB Leipzig (A), Benfica (H), Club Brugge (A), PSV (H), Lille (A), Stuttgart (H), Aston Villa (A)
Paris Saint-Germain: Man City (H), Bayern Munich (A), Atlético Madrid (H), Arsenal (A), PSV (H), RB Salzburg (A), Girona (H), Stuttgart (A)
Celtic: RB Leipzig (H), Borussia Dortmund (A), Club Brugge (H), Atalanta (A), Young Boys (H), Dinamo Zagreb (A), Slovan Bratislava (H), Aston Villa (A)