German side Borussia Monchengladbach will be the other team in Group C.
Premier League champions Leicester will play Porto, Club Brugge and FC Copenhagen in their debut campaign.
Arsenal have been drawn alongside Paris St-Germain, Basel and Ludogorets, with Tottenham facing Monaco, CSKA Moscow and Bayer Leverkusen.
Spanish side Real Madrid beat neighbours Atletico on penalties in last season's final, becoming European champions for a record 11th time.
Zinedine Zidane's side meet German outfit Borussia Dortmund, Portugal's Sporting Lisbon and Legia Warsaw of Poland.
Guardiola, who replaced Manuel Pellegrini at the end of last season, is Barcelona's most successful boss, leading the Spanish club to 14 major trophies between 2008 and 2012.
He helped the Catalans, who are five-time European champions, win the Champions League in 2009 and 2011.
After leaving the Nou Camp, the former Spain midfielder took charge of German side Bayern Munich and lost to his former side in the 2014-15 Champions League semi-finals.
City, who lost to champions Real Madrid in the semi-finals last season, qualified for the group stage thanks to a 6-0 aggregate win over Romania's Steaua Bucharest.
As well as facing Barcelona for a third time in four seasons, City also return to Monchengladbach, whom they beat home and away in last season's group stage.
"It is not a nightmare draw because we are in a wonderful competition - but it is a very tough group," City director of football Txiki Begiristain said.
"Pep knows the group very well - obviously Barcelona but also Borussia Monchengladbach from his time in Germany."
Leicester produced one of the great sporting shocks to win last season's Premier League title and qualify for the Champions League for the first time.
The Foxes' last involvement in European football saw them knocked out of the Uefa Cup in the first round by Red Star Belgrade in 2000.
Claudio Ranieri's side could have been drawn in a group with last season's beaten finalists Atletico Madrid, Dutch champions PSV Eindhoven and Turkish league winners Besiktas.
Although they face Portuguese champions Porto, who have reached the group stage for a sixth successive season, Belgian title winners Club Brugge and Danish champions FC Copenhagen have shown little Champions League pedigree in recent years.
Brugge are competing in the group stage for the first time since 2005-06, while Copenhagen are 81st in Uefa's club rankings.
"With the history of all the clubs we could have been drawn against, it was always going to be an interesting draw," said Foxes director of football Jon Rudkin.
"These are three very established European football clubs and strong teams."
Russian side Rostov - the only other Champions League debutants this season - face Atletico and German champions Bayern Munich.
Tottenham mark their return to European football's top competition for the first time in six seasons, while Arsenal will aim to qualify for the knockout stages for a 13th successive year.
Spurs, who reached the quarter-finals in 2010-11 with wins over both Milan clubs, have avoided the European heavyweights despite being drawn in pot three.
With White Hart Lane's capacity reduced as work begins on a new stadium, Tottenham will play their Champions League games at Wembley this season.
Their toughest test is likely to come against Russian champions CSKA Moscow, the 2005 Uefa Cup winners.
"We know very well that Russia is always difficult and CSKA are sure to have a very good team," said Spurs manager Mauricio Pochettino.
Arsenal, who reached the last 16 last season, and PSG will be favourites to progress from Group A.
French champions PSG knocked Chelsea out in the last 16 before losing to Manchester City, but have not met Arsenal since the 1993-94 Cup Winners' Cup semi-final.
Group A: Paris St-Germain (France), Arsenal (England), Basel (Switzerland), Ludogorets (Bulgaria).
Group B: Benfica (Portugal), Napoli (Italy), Dynamo Kiev (Ukraine), Besiktas (Turkey).
Group C: Barcelona (Spain), Manchester City (England), Borussia Monchengladbach (Germany), Celtic (Scotland).
Group D: Bayern Munich (Germany), Atletico Madrid (Spain), PSV Eindhoven (Netherlands), Rostov (Russia).
Group E: CSKA Moscow (Russia), Bayer Leverkusen (Germany), Tottenham (England), Monaco (France).
Group F: Real Madrid (Spain), Borussia Dortmund (Germany), Sporting Lisbon (Portugal), Legia Warsaw (Poland).
Group G: Leicester City (England), Porto (Portugal), Club Brugge (Belgium), FC Copenhagen (Denmark).
Group H: Juventus (Italy), Sevilla (Spain), Lyon (France), Dinamo Zagreb (Croatia).
Manchester City will meet Scottish champions Celtic and manager Pep Guardiola's former club Barcelona in the Champions League group stage.