Arsenal battled to a superb 1-0 Champions League victory over Borussia Dortmund as a second half goal from Aaron Ramsey proved enough to take all three points away from the Germans' Westfalenstadion fortress.
Dortmund had come into the Group F encounter searching for an eighth successive home Champions League win and had never lost against English opposition.
Jurgen Klopp's well-drilled side, who had won 2-1 in London a fortnight ago, dominated for long spells, but were made to pay for not converting their chances when Ramsey nodded home a knockdown from Olivier Giroud on 62 minutes.
It may not have been the flowing display which manager Arsene Wenger would have preferred - but the Barclays Premier League leaders once again answered questions with a display of real character to hand a rare defeat to last season's beaten finalists.
With Napoli beating Marseille, Arsenal still have work to do to secure safe passage through to the knockout stages, but will have gained more belief they can last the distance this season.
Arsenal had come into the tie on the back of a 2-0 victory over Liverpool which moved them five points clear at the top of the table.
The Gunners were also unbeaten in 14 away matches in all competitions since recording a famous win at Bayern Munich in March.
Dortmund, though, dominated the first half and were left counting the cost of not making the most of that spell in control, where the English side could not muster any attack of note and Henrikh Mkhitaryan missed a great chance for Dortmund when he shot wide from the edge of the penalty area after Arsenal were carved open down the right.
Gunners goalkeeper Wojciech Szczesny saved well from Jakub Blaszczykowski following the restart, before Ramsey secured what proved to be the winner just after the hour for his 11th goal of the season.
Arsenal defender Kieran Gibbs had recovered from a hip problem to start, but England midfielder Jack Wilshere was ruled out with an ankle problem which could yet keep him out of the upcoming international friendlies if he fails a fitness test ahead of Sunday's trip to Manchester United.
Dortmund did not take long to open up the Barclays Premier League leaders through a determined run from Marco Reus.
However, German centre-back Per Mertesacker was alert to the danger and stepped across to put the ball behind for a corner as Robert Lewandowski steamed in at the near post.
Arsenal, though, also posed an attacking threat of their own, with Tomas Rosicky, who has a shirt in the Dortmund museum to mark his memorable spell at the Bundesliga club, offering an outlet down the right.
Dortmund went close to an opening goal on 16 minutes when Neven Subotic volleyed a free-kick from Reus just wide of the far post.
Gunners captain Mikel Arteta picked up a yellow card when he tugged back Blaszczykowski as Dortmund looked to break on the halfway line.
The Pole then could not finish off another slick Dortmund move down the right, scuffing a half-volley wide.
As the rain lashed down, the Westfalenstadion pitch became more slick, with players from both sides struggling to keep their footing.
Sven Bender capitalised on a mix-up between Arteta and Laurent Koscielny to pounce on a loose ball and charge forward - but Mertesacker was on hand again to make a huge tackle on the edge of the Arsenal penalty area.
Dortmund should have been ahead on 38 minutes when Dutch referee Bjorn Kuipers played a good advantage following a foul on the break.
Blaszczykowski fed Mkhitaryan at the edge of the penalty area - only for the Armenia striker to stab the ball horribly wide as stranded goalkeeper Szczesny looked on.
The Germans pressed again at the start of the second half, with Arsenal once more lacking invention going forward.
Bender's cross from the right was headed down goalwards by Reus and Szczesny turned it behind at full-stretch.
The Poland keeper then denied his compatriot Blaszczykowski with another fine save as Arsenal were stretched again when Dortmund got a man over on the right. Reus tucked the rebound away, but was well offside.
Totally against the run of play, Arsenal found themselves ahead on 62 minutes.
Mesut Ozil, who had done little all night, collected the ball on the edge of the Dortmund area and clipped a lovely cross over for Giroud.
The France forward showed great strength to cushion a header down, and Ramsey bundled the ball past Roman Weidenfeller.
The Wales midfielder almost immediately doubled the lead when ghosting in at the far post, but this time the German keeper stood up to make a fine stop.
In an incredible spell of chances, Arsenal then had a shot cleared off the line by Nuri Sahin before Mertesacker was within inches of connecting with a diving header, then his backward header looped onto the top of the net.
Dortmund, though, continued to look for an equaliser and made a double change on 73 minutes when Pierre-Emerick Aubameyang and Jonas Hofmann replaced Blaszczykowski and Bender.
Arsenal also made a switch as Nacho Monreal came on for Cazorla.
There was a stoppage when Koscielny was clattered by the Dortmund keeper at a corner, but after some treatment the Arsenal defender was able to continue.
Lewandowski headed over and then appealed for a penalty after tumbling in a challenge with Mertesacker, but the referee was having none of it as Arsenal closed out a well-earned victory.