Liverpool will face Real Madrid as part of the revamped 36-team Champions League format, while Barcelona manager Hansi Flick will return to Germany to face his former side Bayern Munich.
Bayern will face Barca in the competition for the third time in the past four seasons. The German club have won the last six meetings, including an 8-2 quarter-final victory that earned them the Champions League title in 2020 under Flick.
The draw, which was made by a combination of Gianluigi Buffon, Cristiano Ronaldo and UEFA's supercomputer, also featured heavyweight clashes such as Manchester City against Paris Saint-Germain and a repeat of last year's final: Borussia Dortmund against Madrid.
Arsenal managed to avoid some of the more intimidating teams in Pot 1, having drawn PSG and Inter Milan. Aston Villa will face Bayern for the first time since beating 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 brings his Bayer Leverkusen side to Anfield. Alonso was heavily linked with the Liverpool manager's job following Jürgen Klopp's shock announcement in January that he would be stepping down.
Under the new competition system, each team will play eight matches before the knockout stages (two more than in previous years) and the final round of matches will take place on 29 January.
Each team faced eight different opponents (four home and four away games), two from each of the four seeding pots.
Teams from the same league may not play against each other, and each club may not play more than two teams from the same country.
The top eight teams will advance directly to the Round of 16. Teams finishing between ninth and 24th will advance to a knockout stage, while the bottom 12 teams will be eliminated.
The dates, times and order of each team's matches will be announced on Saturday.
Champions League draw
Manchester City: Inter Milan (H), PSG (A), Club Brugge (H), Juventus (A), Feyenoord (A), Sporting Lisbon (A), Sparta Prague (H), Slovan Bratislava (A)
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), RB Leipzig (away), Bayer Leverkusen (home), AC Milan (away), Lille (home), PSV (away), Bologna (home), Girona (away)
Aston Villa: Bayern Munich (home), RB Leipzig (away), Juventus (home), Club Brugge (away), Celtic (home), Young Boys (away), Bologna (home), Monaco (away)
Real Madrid: Dortmund (home), Liverpool (away), AC Milan (home), Atalanta (away), Salzburg (home), Lille (away), Stuttgart (home), Brest (away)
Barcelona: Bayern Munich (home), Dortmund (away), Atalanta (home), Benfica (away), Young Boys (home), Red Star Belgrade (away), Brest (home), Monaco (away)
Atletico 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 (A), Feyenoord (A), Slovan Bratislava (H), Aston Villa (A)
Bayer Leverkusen: Inter Milan (home), Liverpool (away), Atletico Madrid (away), AC Milan (home), RB Salzburg (home), Feyenoord (away), Sparta Prague (home), Brest (away)
Borussia Dortmund: Barcelona (home), Real Madrid (away), Shakhtar Donetsk (home), Club Brugge (away), Celtic (home), Dinamo Zagreb (away), Sturm Graz (home), Bologna (away)
Inter Milan: RB Leipzig (home), Manchester City (away), Arsenal (home), Leverkusen (away), Red Star Belgrade (home), Young Boys (away), Monaco (home), Sparta Prague (away)
AC Milan: Liverpool (H), Real Madrid (A), Club Brugge (A), Bayer Leverkusen (A), Red Star Belgrade (A), Dinamo Zagreb (A), Girona (H), Slovan Bratislava (A)
Juventus: Manchester City (home), RB Leipzig (away), Benfica (home), Club Brugge (away), PSV (home), Lille (away), Stuttgart (home), Aston Villa (away)
Paris Saint-Germain: Manchester City (home), Bayern Munich (away), Atlético de Madrid (home), Arsenal (away), PSV (home), RB Salzburg (away), Girona (home), Stuttgart (away)
Celtic: RB Leipzig (H), Borussia Dortmund (A), Club Brugge (H), Atalanta (A), Young Boys (A), Dinamo Zagreb (A), Slovan Bratislava (H), Aston Villa (A)