Match ends, Arsenal 1, Borussia Dortmund 2.
Robert Lewandowski's late winner for Borussia Dortmund at Emirates Stadium ended Arsenal's flawless start to their Champions League campaign and threw Group F wide open.
Arsenal were more than a match for last season's beaten finalists for long spells but Lewandowski demonstrated the ruthless streak that was missing when his Poland team faced England in last week's decisive World Cup qualifier at Wembley with a clinical finish eight minutes from time.
The pain of defeat was increased as Arsenal will surely feel Lewandowski was lucky to still be on the pitch following an earlier elbow on Laurent Koscielny. He was fortunate only to be booked by Swedish referee Jonas Eriksson as a red card would also have ruled him out of Arsenal's forthcoming visit to Dortmund.
Henrikh Mkhitaryan gave Dortmund an early lead but Arsenal showed real character to battle back into contention and equalise through Olivier Giroud before half-time.
Group F was always touted as the closest in the Champions League and one glance at the table confirms this is the case, with Arsenal, Dortmund and Napoli now all on six points, with the Gunners top courtesy of their head to head record.
It made it an unhappy 64th birthday for Arsenal manager Arsenal Wenger. The Gunners still face hazardous trips to Dortmund and Napoli - but they can also take great heart from many aspects of their performance.
Arsenal were without midfielder Mathieu Flamini, who suffered concussion against Norwich City, and they missed him as Dortmund's pressing game held sway in the opening moments.
It is the hallmark of Jurgen Klopp's side, allied to plenty of natural talent, and Arsenal found it impossible to control midfield and play the passing game that has swept them to the top of the Premier League.
Dortmund's relentless pressure on the ball paid off after 16 minutes when Aaron Ramsey, outstanding so far this season, was caught in possession and when Lewandowski fed Mkhitaryan, the man who was a £25m summer transfer target for Liverpool, fired past Wojciech Szczesny from the edge of the area.
It was a deserved reward but, to Arsenal's credit they managed to wrestle control back from the impressive German side and make an impact of their own as the interval approached.
Dortmund defender Mats Hummels showed superb positioning and anticipation to station himself on the line behind goalkeeper Roman Weidenfeller to clear Tomas Rosicky's shot off the line - but it was defensive confusion that led to Arsenal's equaliser five minutes before half-time.
Weidenfeller and Neven Subotic were involved in a mix-up as they moved to clear Bacary Sagna's cross, leaving Giroud with a simple finish as he hammered the ball into the unguarded net.
Jack Wilshere needed lengthy treatment on an ankle injury in the first half after going down chasing the ball into the penalty area with Weidenfeller and it was no surprise when he was replaced by Cazorla after 57 minutes.
The Spaniard almost gave Arsenal the lead after 68 minutes after the first contribution of significance from Mesut Ozil. He found Cazorla on the edge of the area and his shot glanced off the angle of post and bar with Weidenfeller motionless.
Arsenal had controlled much of the second half but Dortmund always carried danger. And so it proved as Lewandowski restored their lead with eight minutes left, applying a perfect sidefoot finish to Kevin Grosskreutz's cross.
- 10WilshereSubstituted forCazorlaat 58'minutes
- 16RamseySubstituted forBendtnerat 86'minutes
- 11ÖzilBooked at 85mins
- 7RosickyBooked at 51minsSubstituted forGnabryat 89'minutes
- 15HummelsBooked at 22mins
- 16BlaszczykowskiSubstituted forAubameyangat 66'minutes
- 6BenderBooked at 70mins
- 9LewandowskiBooked at 64mins
- 10MkhitaryanSubstituted forHofmannat 66'minutes
- 11ReusSubstituted forPapastathopoulosat 87'minutes
- Jonas Eriksson
- Shots on Target
Second Half ends, Arsenal 1, Borussia Dortmund 2.
Attempt blocked. Mikel Arteta (Arsenal) left footed shot from outside the box is blocked. Assisted by Mesut Özil.
Corner, Borussia Dortmund. Conceded by Santiago Cazorla.
Foul by Kieran Gibbs (Arsenal).
Jonas Hofmann (Borussia Dortmund) wins a free kick on the right wing.
Foul by Laurent Koscielny (Arsenal).
Robert Lewandowski (Borussia Dortmund) wins a free kick on the left wing.
Substitution, Arsenal. Serge Gnabry replaces Tomas Rosicky.
Foul by Mikel Arteta (Arsenal).
Sven Bender (Borussia Dortmund) wins a free kick in the defensive half.
Substitution, Borussia Dortmund. Sokratis replaces Marco Reus.
Substitution, Arsenal. Nicklas Bendtner replaces Aaron Ramsey.
Mesut Özil (Arsenal) is shown the yellow card for a bad foul.
Foul by Mesut Özil (Arsenal).
Mats Hummels (Borussia Dortmund) wins a free kick on the left wing.
Bacary Sagna (Arsenal) wins a free kick in the defensive half.
Foul by Marco Reus (Borussia Dortmund).
Goal! Arsenal 1, Borussia Dortmund 2. Robert Lewandowski (Borussia Dortmund) right footed shot from the centre of the box to the centre of the goal. Assisted by Kevin Großkreutz with a cross following a fast break.
Foul by Olivier Giroud (Arsenal).