An Aaron Ramsey header has given patient Arsenal an important 1-0 win at last season's runners-up Borussia Dortmund in the Champions League, allowing them to take control of Group F with two games left to play.
Arsenal, who avenged a 2-1 loss to Dortmund in London last month, bided their time for more than an hour in pouring rain, soaking up Dortmund attacks before striking with their first effort on goal.
The visitors scored against the run of play with Wales international Ramsey sneaking into the box to head home in the 62nd minute.
The result lifts Arsenal to nine points from four games, ahead on goal difference of Napoli who beat Olympique Marseille 3-2. Dortmund drop to third on six.
"We were mature in our tactics, we made no major mistakes and had patience," Arsenal coach Arsene Wenger told reporters.
"We had problems creating chances and we had a brief difficult period early in the second half but then we scored and were not so much under pressure."
The hosts, who until Wednesday had never lost at home to English opposition in seven contests, wasted half a dozen clear chances but failed to make their dominance count.
"Dortmund fought really well. We were lucky to have scored," said Wenger. "It was a bit like the first game in London where they had one shot in the second half and scored. This time it was us."
Both teams brought a solid track record to the game with Arsenal unbeaten for 14 games away from home and Dortmund having won eight out of eight at home this season, including the German Super Cup.
"I told my team what everyone saw today, that we got nothing for our effort. Losing was not in our plans," said Dortmund coach Juergen Klopp, back on the bench after a two-game suspension.
"Now it becomes more tense in the group. We still have all the chances to advance with two wins."
WAITING GAME
The hosts took the initiative from the start but found little space to launch their trademark quick breaks.
"We dominated, we worked, we had good runs and we did a lot of things right. We played good football and it was not boring," said Klopp. "But we lacked the finish. We should have done more from our possession."
The two sides cancelled each other out early on with a tactical waiting game in midfield.
It was fittingly a defender - Neven Subotic - who carved out Dortmund's first chance after 17 minutes, drilling his shot from a Sven Bender header just wide.
Jakub Blaszczykowski's volley sailed over the bar a little later and Henrikh Mkhitaryan's curling left-footed drive whizzed wide as the Germans upped the tempo a notch midway through the first half.
Arsenal worked hard to stifle German attacks but were toothless in attack with keeper Wojciech Szczesny called into action straight after the break, first saving a Marco Reus header and then denying Blaszczykowski once more.
The visitors struck with their first effort on goal when Olivier Giroud headed on a Mesut Ozil cross and Ramsey beat Subotic to the punch and nodded in from close range.
The goal was a turning point with Arsenal gaining in confidence and coming close twice more through Ramsey and Per Mertesacker as Dortmund gradually ran out of steam in their desperate search for an equaliser.
"Dortmund had more chances, that's true, but we kept them at bay pretty well," Mertesacker said. "We did not want to be overrun by them as had happened in London and then just wait for the break. That is what made the difference."