Manchester City's chances of qualifying for the knockout stages of the Champions League are hanging by the slimmest of threads, as Real Madrid salvaged a 2-2 draw against Borussia Dortmund, with Arsenal throwing away a two-goal lead against Schalke.
Sergio Aguero struck the equalizer to give City a 2-2 draw against Ajax, while Mest Ozil came to Real's rescue against Dortmund in a similar result.
At the Emirates, Arsenal will feel disappointed to have given a two-goal lead away, after Theo Walcott and Olivier Giroud had given the Gunners the advantage early in the first half. However, Klaas-Jan Huntelaar struck in the final kick of the first period, before Jefferon Farfan scored the equalizer midway through the second half.
Schalke started the much brighter side, controlling possession, with the Gunners hardly getting a look in the first 15 minutes. Ibrahim Afellay and Christian Fuchs took a couple of long-range efforts, with the former's strike well saved by Vito Mannone, who again was excellent for the away side.
Arsenal scored the opener against the run of play in the 18th minute. Per Mertesacker played a long ball towards Olivier Giroud, which was poorly cleared by Roman Neustadter, allowing Giroud to run clear on goal. The striker, when he needed to be decisive, hesitated, and it looked like the chance had gone as Schalke seemingly tracked back to snuff the chance out; but an alert Walcott pounced on the rebound, before slotting it into an empty net.
Eight minutes later, Arsenal were 2-0 up, this time Giroud doing exactly what a striker needs to do, getting in on the end of a pinpoint Lukas Podolski cross to power home a diving header from six yards out.
Schalke, smarting from the goals, looked to get back into the game, with reported Arsenal target Lewis Holtby having a really good game in midfield. Farfan and Giroud had a couple of half-chances, before Arsenal conceded a crucial goal in the second minute of stoppage time of the first half.
Santi Cazorla, who had a poor match, gave the ball away in midfield, with Holtby then threading a perfect through ball to Huntelaar, who, as expected, finished past Mannone.
In the first 25 minutes of the second half, it was all Schalke, as the German side brought on wave after wave of attacks, with the equalizer looking inevitable.
Huntelaar had a shot saved brilliantly by Mannone, before Marco Hoger saw his effort from a corner cleared off the line by Mikel Arteta. Holtby and Afellay then saw a couple of shots from range come to nought, before the second goal finally came.
Afellay stood up a cross from the left into the box, which was partially headed by Holtby, with the ball falling kindly to an unmarked Farfan, who powered a strike towards the far post, with the ball taking a deflection off Thomas Vermaelen, playing at left-back, and into the net.
The game petered out, with both sides seemingly content with the point, even if Walcott might have made it 3-2 in the final moments - the forward seeing his tame effort while through on goal, saved by Lars Unnerstall.
Olympiakos are now just one point behind Arsenal after an impressive 3-1 win over Montpellier. Schalke lead Group B with eight points, while Arsenal have seven, with Montpellier bottom on one point.
In the group of death, there were a couple of 2-2 draws, as Manchester City's chances of qualifying for the next phase looked as good as over, with the English Premier League champions five points behind second-placed Real Madrid, with just two games remaining.
At the Bernabeu, Real Madrid came back twice from a goal down to salvage a 2-2 draw against Dortmund. Marco Reus opened the scoring before Pepe equalized just past the half hour. An Alvaro Arbeloa own goal put Dortmund back in the lead, with Mesut Ozil scoring in the 89th minute to earn the home side a point.
At the Etihad, City was saved by Aguero, as Roberto Mancini's side came back from two goals down, with Siem De Jong netting a double inside 17 minutes. Yaya Toure got City's first goal in the 22nd minute, to reduce the deficit, before Aguero popped up with the equalizer with 15 minutes remaining.
Results: Group A: Dynamo Kyiv 0-0 Porto; SG 4-0 Dinamo Zagreb. Group B: Schalke 2-2 Arsenal; Olympiakos 3-1 Montpellier. Group C: Milan 1-1 Malaga; Anderlecht 1-0 Zenit. Group D: Real Madrid 2-2 Borussia Dortmund; Manchester City 2-2 Ajax.