Paris St Germain put their indifferent league form behind them to clinch a massive 3-2 win over Barcelona in their Champions League Group F clash.

In a true heavyweight contest at the Parc des Princes, David Luiz (10) bundled home to open the scoring, but the hosts' first lead of the night lasted all of 60 seconds as Lionel Messi capped off a superb move to equalise with Barca's 500th Champions League goal.

Marco Verratti (26) ghosted in at the far post to restore PSG's one-goal advantage at half time, before Blaise Matuidi (54) made it 3-1.

Two minutes later Neymar smashed home through a crowd of bodies to score his seventh strike in all competitions this season, but PSG did enough to hold out and move top of the group.

It was a welcome triumph for Laurent Blanc's men, who have drawn five of their eight Ligue 1 clashes so far, especially as they managed to do it without injured talisman Zlatan Ibrahimovic.

That result puts the French side top of Group F - one point ahead of Barcelona and two above Ajax after the reigning Dutch champions were pegged back to draw 1-1 at APOEL.

Gustavo Manduca (32) equalised for the Cypriot side from the spot four minutes after Lucas Andersen had put Ajax in front.

In Group E, five-time winners Bayern Munich strengthened their grip at the top of the group with an uninspiring 1-0 win over CSKA Moscow at an empty Arena Khimki in the Russian capital.

The hosts, who were forced to play the game behind closed doors due to recent racist conduct by their fans, fell behind in the 22nd minute after Mario Gotze was awarded a soft penalty by referee William Collum.

Thomas Muller fired the penalty past Igor Akinfeev and that was enough for the German giants, although they never came close to hitting top gear in their eerily silent surroundings and could have had problems if CSKA had not been so wasteful.

In Group G, Schalke and Maribor could only manage a 1-1 draw at the Veltins-Arena.

Klaas-Jan Huntelaar's (56) fine finish from just outside the box earned a point for Schalke after Damjan Bohar (37) had put Maribor in front.

Porto substitute Jackson Martinez scored two last-gasp goals to rescue a 2-2 draw at Shakhtar Donetsk and take the Portuguese side top of Group H.

Second-half strikes from Alex Teixeira (52) and Luiz Adriano (85) had given Shakhtar a 2-0 lead, but Martinez halved the deficit with an 89th-minute penalty and slotted home Porto's equaliser a minute into stoppage time.

Rounding off the action in Group H's other game, BATE Borisov beat Athletic Bilbao 2-1, with Denis Polyakov (19) and Aleksandr Karnitski (41) on target for the hosts before Aritz Aduriz pulled one back on the stroke of half-time.