A brace from Ilkay Gundogan and stunning free-kick goal from Kevin De Bruyne secured a crucial win over the European giants. Lionel Messi scored the consolation goal for Luis Enrique's side.
In other matches, Arsenal clinched a hard-fought win over minnows Ludogrets to climb to the top spot in the group table. The Gunners conceded two early goals but fought back successfully to register a crucial win.
Bayern Munich defeated PSV Eindhoven 2-1, while Diego Simeone's Atletico Madrid registered a 2-1 win over FC Rostov.
Here are all the results from game week 4, day 1
Besiktas 1-1 Napoli
Atletico Madrid 2-1 FC Rostov
FC Basel 1-2 PSG
Ludogrets 2-3 Arsenal
Manchester City 3-1 FC Barcelona
Borussia Monchengladbach 1-1 Celtic
Benfica 1-0 Dynamo Kyiv
PSV Eindhoven 1-2 Bayern Munich