Dortmund opened the scoring through Henrikh Mkhitaryan after Aaron Ramsey's error on the edge of his own box left the Gunners exposed. Marco Reus robbed the careless Welshman and found Lewandowski, who teed up Mkhitaryan to finish coolly from 12 yards.
But Ramsey atoned for his error with a hand in Arsenal's equaliser, which came within five minutes of the break. Ramsey released Bacary Sagna on the right, and the Frenchman's teasing cross wasn't fully dealt with by Neven Subotic and Olivier Giroud pounced to lash in from close range.
Santi Cazorla's second half introduction seemed to turn the tide Arsenal's way as the Spaniard came close to putting the Gunners ahead when his firecracker grazed off the top of the bar.
But Dortmund, disciplined and organised throughout, hit Arsenal with a slick counter-attack, with Lewandowski elevating an indifferent personal display by finishing Kevin Großkreutz's cross with a measured first-time finish into the bottom corner.
The result leaves Arsenal, Dortmund and Napoli level on six points, with Arsenal yet to visit both of their Group F rivals.
16' - GOAL: Arsenal 0-1 Dortmund - Ramsey perhaps guilty of over confidence here as he takes one too many touches on the edge of his own box. Reus robs him and Mkhitaryan finishes well.
37' - OFF THE LINE! Chance for Arsenal as Giroud battles his way down the left into a crossing position. His cross is stabbed out to Rosicky, whose volley beats Weidenfeller but not Mats Hummels, perfectly placed on the line.
41' - GOAL: Arsenal 1-1 Borussia Dortmund - Arsenal are level through Giroud. Ramsey works the ball out to Sagna, whose cross flicks off the outstretched Subotic and Giroud has the simple task of leathering it in from close range.
69' - OFF THE BAR! Super play by Ozil who dances into a crossing position on the right and cuts back for Cazorla, whose first-time shot from 20 yards brushes off the top of the bar.
82' - GOAL: Arsenal 1-2 Borussia Dortmund - Lewandowski wins it for Dortmund! Arsenal are caught short at the back and Großkreutz's cross is met by the Pole, whose cushioned volley puts the Gunners to bed.
Possession - Arsenal 58% Dortmund 42%
Arsenal have only lost 5 of their last 48 home games in the Champions League (33 wins, 10 draws), but the last 3 defeats have both come against German sides (Schalke, Bayern Munich and now Dortmund).
This was Dortmund’s first away win in England in the Champions League since April 1997 against Manchester United (1-0).
A reality check for Arsenal? The Gunners' recent run has seen them soar to the top of the Premier League and has encouraged talk of a title challenge. But this defeat has seen their lead at the top of Champions League Group F disappear, and Arsene Wenger will be keen to ensure it doesn't erode confidence.
MAN OF THE MATCH
Mikel Arteta (Arsenal) - Since Flamini's re-arrival Arteta has been marginalised, but the Spaniard was the heartbeat of the Arsenal side.
Arsenal: Szczesny 6, Sagna 6, Mertesacker 7, Koscielny 7, Gibbs 7, Rosicky 8, Arteta 8, Wilshere 6, Ramsey 7, Ozil 8, Giroud 7. Subs: Cazorla 8, Bendtner N/A, Gnabry N/A.
Dortmund: Weidenfeller 7, Großkreutz 7, Subotic 7, Hummels 7, Schmelzer 7, Bender 7, Sahin 7, Blaszczykowski 6, Mkhitaryan 7, Reus 7, Lewandowski 7. Subs: Aubameyang 7, Hofmann 6, Papastathopoulos N/A
THE MATCH IN A TWEET