Bundesliga outfits Borussia Dortmund and Schalke enjoyed impressive Champions League victories on a wretched night for Premier League sides Arsenal and Manchester City.

Ajax came from behind to sink Manchester City in Amsterdam while Schalke staged a superb smash-and-grab raid at Arsenal's Emirates Stadium on a dismal night for English clubs in the Champions League.

Samir Nasri's brilliant 22nd-minute finish had looked set to pave the way for Roberto Mancini's first win in Group D against an Ajax side who had come out pointless from their two games to date.

But Siem de Jong powered an equaliser past City keeper Joe Hart on the stroke of half-time and further goals from Niklas Moisander and Christian Eriksen eased the Dutch side home to a surprise 3-1 win with a dominant second-half display.

It was just as bad for Arsene Wenger's beleaguered Arsenal in north London, with two goals in the last 15 minutes from Klaas Jan Huntelaar and Jefferson Farfan giving Schalke a 2-0 success.

Schalke's win shattered Arsenal's 100 per cent start in Group B and threw qualification wide open as Greek side Olympiakos claimed their first points by coming from behind to beat Montpellier 2-1 in France.

Gaetan Charbonnier gave Montpellier a 49th-minute lead before Vassilas Torosidis struck a 73rd-minute equaliser and substitute Kostas Mitroglou poked home a dramatic injury-time winner on the counter-attack.

Tonight's results sent Schalke to the top of Group B on seven points, one ahead of the Gunners, with Olympiakos moving up to three points and Montpellier bringing up the rear on one.

Meanwhile, City's night got worse with news of Borussia Dortmund's surprise 2-1 win over Real Madrid in Germany. The result takes Dortmund to the top of the group ahead of Jose Mourinho's men, while City sit bottom with just a point from their first three games.

Robert Lewandowski netted a 36th-minute opener for the Germans and, although Cristiano Ronaldo cancelled it out within two minutes, Marcel Schmelzer hit the home side's winner in the 64th minute.

On a night of surprises, Malaga extended their lead at the top of Group C to three points as they beat AC Milan 1-0, Joaquin grabbing the only goal of the game in the 64th minute from a through-ball by Manuel Iturra.

Also in Group C, Zenit St Petersburg emerged as serious contenders with a 1-0 win over Anderlecht in Russia. Alexander Kerzhakov netted a 72nd-minute winner from the penalty spot after Milan Jovanovic fouled Alexander Anyukov in the box.

In Group A, Porto maintained their 100 per cent record with a 3-2 win over Dynamo Kiev in Portugal.

The visitors twice struck back from behind with Oleg Gusev and Ideye Brown cancelling out strikes from Silvestre Varela and Jackson Martinez respectively, before Martinez's second won the game 12 minutes from time.

Also in Group A, Paris St Germain moved clear in second place with a 2-0 win over Dinamo Zagreb in Croatia. Zlatan Ibrahimovic opened the scoring on 32 minutes and Jeremy Menez made it two before half-time.

Wednesday’s Champions League results:

Group A - FC Porto 3-2 Dynamo Kiev, Dinamo Zagreb 0-2 PSG

Group B - Arsenal 0-2 Schalke 04, Montpellier 1-2 Olympiakos

Group C - Malaga 1-0 AC Milan, Zenit Petersburg 1-0 Anderlecht

Group D - Ajax 3-1 Manchester City, Borussia Dortmund 2-1 Real Madrid