Injury denied Ibrahimovic the chance to face his former club but PSG proved they are no one-man team as goals from David Luiz, Marco Verratti and Blaise Matuidi helped them take the spoils in Paris.
Barca responded with goals from Lionel Messi and Neymar but could not find an equaliser, with rising star Munir El Haddadi coming closest with an 85th-minute effort that hit the post in a pulsating encounter, where Barca playmaker Xavi made a record-breaking 143rd appearance in the Champions League proper.
While Barca stuttered, neither Ajax nor Cillian Sheridan’s APOEL could take full advantage in the other Group F game, drawing 1-1. Lucas Andersen made the breakthrough just before the half-hour in Nicosia, but Frank de Boer’s Dutchmen were pegged back by a Gustavo Manduca penalty.
In Group H, BATE Borisov beat a faltering Athletic Bilbao 2-1 in the first Champions League game at the Borisov Arena.
Denis Polyakov gave BATE a 19th-minute lead which was added to by Aleksandr Karnitski and, although Aritz Aduriz pulled a goal back just before half-time, Athletic could not find an equaliser.
Two late goals from Jackson Martinez, the first a penalty, saw Porto snatch a point in a 2-2 draw with Shakhtar Donetsk. Shakhtar led with goals from Alex Teixeira and Luis Adriano before Martinez struck back late on.
An early penalty converted by Thomas Muller saw Bayern Munich beat CSKA 1-0 in Moscow to lead Group E ahead of Roma and Manchester City.
In Chelsea’s Group G, Klaas Jan Huntelaar snatched a point for Schalke against Maribor after Damjan Bohar had given the visitors a shock lead.