Barcelona avenged last season’s Champions League defeat against Celtic as Cesc Fabregas scored the only goal of the game in Glasgow.
Celtic kept Barca at bay until the 76th minute, while Fabregas’s header came moments after the hosts had twice gone agonisingly close. Celtic’s task was made even harder by the 59th-minute sending off of midfielder Scott Brown for a foul on Neymar.
Also in Group H, a very late Mario Balotelli penalty earned AC Milan a 1-1 draw against Ajax.
The Dutchmen thought they had won it through Stefano Denswil’s 90th-minute header but there was still time for Balotelli to be felled by Mike van der Hoorn and the Italian converted from the spot.
Jose Mourinho's Chelsea recovered from their slip-up against Basel with a crushing 4-0 victory over Steaua Bucharest in Romania. The Londoners were dealt a blow early on when Fernando Torres suffered a knee injury and was replaced by Samuel Eto'o.
But they soon had something to cheer as Eto’o set up Ramires for the opener after 20 minutes and a minute before half-time Eto’o’s shot was pushed against Daniel Georgievski by goalkeeper Ciprian Tatarusanu for an own goal.
Ramires grabbed his second 10 minutes after the break to make sure of the three points, and Frank Lampard added some late gloss in the final minute.
Schalke lead the way in Group E thanks to a 1-0 victory over Basel, Julian Draxler netting a spectacular effort in the 54th minute.
Last season's beaten finalists Borussia Dortmund picked up their first points of this campaign as they saw off pointless Marseille 3-0.
Dortmund lost to Napoli two weeks ago but Robert Lewandowski put them on course for victory in the 19th minute and Marco Reus made it two seven minutes after the break.
Lewandowski finished off the scoring in the 79th minute from the penalty spot after Reus had been fouled.
Arsenal lead the Group F table with maximum points after a 2-0 victory over Napoli that featured a first Gunners goal for Mesut Ozil.
Ozil opened the scoring after eight minutes and then set up Olivier Giroud for the second seven minutes later.
Atletico Madrid have maximum points in Group G after Arda Turan's late goal gave them a 2-1 victory over Porto.
In-form Jackson Martinez gave the visitors a 16th-minute lead but Diego Godin levelled 13 minutes into the second half and Turan struck the winner in the 86th minute.
Zenit St Petersburg's hopes of reaching the knockout stages were hit by a goalless draw at home to Austria Vienna.
The Russian league leaders hit a post early on through Hulk but were dealt a major blow just before half-time when Axel Witsel was sent off.