Aaron Ramsey's header gave Arsenal a battling victory over Borussia Dortmund to keep Arsene Wenger's side top of Champions League Group F.

Wojciech Szczesny denied Marco Reus and Jakub Blaszczykowski as Arsenal looked to contain Dortmund in the first hour.

The Gunners scored with their first effort at goal when Ramsey forced home Mesut Ozil's cross after 62 minutes.

Ramsey almost made it 2-0 moments later and an increasingly desperate Dortmund side could not deny them a famous win.

Arsenal became the first English team to triumph at Dortmund's imposing Westfalenstadion home with their 14th win in 15 unbeaten away games.

That run started in March with a victory at Bayern Munich - the eventual European champions - and this result against the team Bayern beat in last season's final was just as impressive.

Arsenal's remaining Group F ties

26 November: Marseille (home)

11 December: Napoli (away)

Ramsey's goal secured the points, but the win came on the back of a measured performance that saw Arsenal keep Dortmund at arm's length for long periods and score with a classic counter-attack.

The Gunners concentrated on keeping possession in the first half but their conservative approach meant they had just one corner to show for it.

At the other end, Dortmund were producing some typically inventive approach play but struggled to find a way through the visitors' defence, and were unable to find a finish when they did.

Neven Subotic hooked a volley wide after Ramsey inadvertently headed a Reus free-kick back into the danger zone, and Blaszczykowski was also off target when he met Kevin Grosskreutz's cross.

The home side's best chance before the break fell to Henrikh Mkhitaryan, who was teed up by Blaszczykowski but fired wide after trying to pick his spot from the edge of the area.

Trying to keep a team with as much attacking flair as Dortmund quiet appeared a risky tactic, especially when the home side upped the tempo early in the second half.

A Reus header zipped up off the slick surface and forced Szczesny into his first save of the night, quickly followed by his second from a Blaszczykowski snap-shot following a quick break. Reus buried the follow-up but the flag was already up for offside.

Just as the Dortmund pressure was building, however, Arsenal struck with their first meaningful attack.

Ramsey continues purple patch

Aaron Ramsey's goal against Dortmund was his 11th goal for Arsenal this season in all competitions, equalling his tally in his first six seasons combined for the Gunners.

Source: Infostrada

Olivier Giroud caused havoc in the area from Ozil's cross and Ramsey darted in to beat Neven Subotic to the dropping ball, stooping to head past Roman Weidenfeller.

What had been a cagey game suddenly became wide open and moments later another Arsenal counter-attack almost saw them extend their lead. Ramsey was again on the end of it but this time his shot was pushed away by Weidenfeller.

Dortmund threatened an immediate response when Reus failed to convert Lewandowski's cross but there was more happening at the other end, with Nuri Sahin clearing off the line and Per Mertesacker almost getting his head to an inviting delivery.

In the end one goal was enough. Dortmund had failed to score only once in their last 60 home games and had won their last eight home ties in the Champions League, but their search for an equaliser constantly ran into dead ends and Szczesny did not have another serious save to make before the end.

The win gave Arsenal much-needed revenge for their defeat at home to Dortmund a fortnight ago, but their passage through to the last 16 is still far from straightforward.

Even if the Gunners beat bottom side Marseille at the Emirates on 26 November, they could still need to pick up a point at Napoli in their final group game in order to secure their progress.

Lineup, Bookings (2) & Substitutions (6)

Borussia Dortmund

  • 01 Weidenfeller
  • 19 Großkreutz
  • 29 Schmelzer
  • 06 Bender (Hofmann - 75' )
  • 04 Subotic
  • 25 Papastathopoulos
  • 16 Blaszczykowski (Aubameyang - 74' )
  • 18 Sahin
  • 09 Lewandowski Booked
  • 10 Mkhitaryan
  • 11 Reus (Schieber - 86' )

Substitutes

  • 05 Kehl
  • 07 Hofmann
  • 17 Aubameyang
  • 20 Langerak
  • 21 Kirch
  • 23 Schieber
  • 37 Durm

Arsenal

  • 01 Szczesny
  • 03 Sagna
  • 28 Gibbs
  • 08 Arteta Booked
  • 04 Mertesacker
  • 06 Koscielny
  • 07 Rosicky (Vermaelen - 91' )
  • 16 Ramsey
  • 12 Giroud (Bendtner - 90' )
  • 11 Özil
  • 19 Cazorla (Monreal - 75' )

Substitutes

  • 05 Vermaelen
  • 17 Monreal
  • 21 Fabianski
  • 23 Bendtner
  • 25 Jenkinson
  • 44 Gnabry
  • 45 Hayden
Ref: Bjorn Kuipers

Match Stats

Shots

15 4

On target

3 2

Corners

6 2

Fouls

11 13

Live Text Commentary

Full time

Full Time Match ends, Borussia Dortmund 0, Arsenal 1.

90:00 +4:40 Full time

Full Time Second Half ends, Borussia Dortmund 0, Arsenal 1.

90:00 +3:46

Attempt saved. Robert Lewandowski (Borussia Dortmund) right footed shot from the centre of the box is saved in the bottom right corner. Assisted by Kevin Großkreutz with a cross.

90:00 +3:26

Offside, Arsenal. Nicklas Bendtner tries a through ball, but Mesut Özil is caught offside.

90:00 +3:03

Mesut Özil (Arsenal) wins a free kick on the right wing.

90:00 +3:03

Foul by Marcel Schmelzer (Borussia Dortmund).

90:00 +0:45 Substitution

Substitution Substitution, Arsenal. Thomas Vermaelen replaces Tomas Rosicky.

89:40 Substitution

Substitution Substitution, Arsenal. Nicklas Bendtner replaces Olivier Giroud.

88:58

Attempt missed. Robert Lewandowski (Borussia Dortmund) header from very close range is too high. Assisted by Kevin Großkreutz with a cross following a corner.

88:39

Corner, Borussia Dortmund. Conceded by Kieran Gibbs.

85:51 Substitution

Substitution Substitution, Borussia Dortmund. Julian Schieber replaces Marco Reus.

85:15

Mesut Özil (Arsenal) wins a free kick in the defensive half.

85:15

Foul by Nuri Sahin (Borussia Dortmund).

83:58

Attempt blocked. Marco Reus (Borussia Dortmund) right footed shot from the right side of the box is blocked. Assisted by Nuri Sahin.

79:56

Delay over. They are ready to continue.

79:15

Delay in match Laurent Koscielny (Arsenal) because of an injury.

78:38

Attempt missed. Laurent Koscielny (Arsenal) header from the centre of the box misses to the left. Assisted by Mesut Özil with a cross following a set piece situation.

78:14

Aaron Ramsey (Arsenal) wins a free kick in the attacking half.

78:14

Foul by Nuri Sahin (Borussia Dortmund).

74:50 Substitution

Substitution Substitution, Arsenal. Nacho Monreal replaces Santiago Cazorla.

74:08 Substitution

Substitution Substitution, Borussia Dortmund. Jonas Hofmann replaces Sven Bender.

73:51 Substitution

Substitution Substitution, Borussia Dortmund. Pierre-Emerick Aubameyang replaces Jakub Blaszczykowski.

73:36

Offside, Arsenal. Bacary Sagna tries a through ball, but Olivier Giroud is caught offside.

72:08

Corner, Borussia Dortmund. Conceded by Bacary Sagna.

69:30

Attempt missed. Per Mertesacker (Arsenal) header from the centre of the box is just a bit too high. Assisted by Santiago Cazorla with a cross following a set piece situation.

68:58

Santiago Cazorla (Arsenal) wins a free kick in the attacking half.

68:58

Foul by Jakub Blaszczykowski (Borussia Dortmund).

68:30

Foul by Aaron Ramsey (Arsenal).

68:30

Sokratis (Borussia Dortmund) wins a free kick in the defensive half.

66:22

Attempt missed. Marcel Schmelzer (Borussia Dortmund) left footed shot from outside the box is close, but misses to the left. Assisted by Nuri Sahin.

64:58

Corner, Arsenal. Conceded by Roman Weidenfeller.

64:55

Attempt saved. Aaron Ramsey (Arsenal) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Olivier Giroud with a cross.

61:24 Goal scored

Goal! Goal! Borussia Dortmund 0, Arsenal 1. Aaron Ramsey (Arsenal) header from very close range to the bottom left corner. Assisted by Olivier Giroud with a headed pass.

60:38

Offside, Borussia Dortmund. Henrikh Mkhitaryan tries a through ball, but Nuri Sahin is caught offside.

57:35

Delay over. They are ready to continue.

57:10

Delay in match Marcel Schmelzer (Borussia Dortmund) because of an injury.

56:09

Offside, Borussia Dortmund. Jakub Blaszczykowski tries a through ball, but Marco Reus is caught offside.

55:30

Attempt blocked. Marco Reus (Borussia Dortmund) left footed shot from outside the box is blocked. Assisted by Neven Subotic.

55:02

Offside, Arsenal. Wojciech Szczesny tries a through ball, but Olivier Giroud is caught offside.

54:44

Offside, Borussia Dortmund. Robert Lewandowski tries a through ball, but Marco Reus is caught offside.

53:40

Attempt missed. Marco Reus (Borussia Dortmund) right footed shot from outside the box is too high from a direct free kick.

52:43

Foul by Mikel Arteta (Arsenal).

52:43

Robert Lewandowski (Borussia Dortmund) wins a free kick in the attacking half.

51:00

Offside, Borussia Dortmund. Jakub Blaszczykowski tries a through ball, but Marco Reus is caught offside.

50:56

Attempt saved. Jakub Blaszczykowski (Borussia Dortmund) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by Henrikh Mkhitaryan.

50:16

Attempt missed. Henrikh Mkhitaryan (Borussia Dortmund) right footed shot from outside the box is high and wide to the right following a corner.

50:04

Corner, Borussia Dortmund. Conceded by Aaron Ramsey.

49:37

Corner, Borussia Dortmund. Conceded by Wojciech Szczesny.

49:35

Attempt saved. Marco Reus (Borussia Dortmund) header from the centre of the box is saved in the bottom left corner. Assisted by Sven Bender with a cross.

49:03

Foul by Bacary Sagna (Arsenal).

49:03

Marco Reus (Borussia Dortmund) wins a free kick on the left wing.

48:29

Mesut Özil (Arsenal) wins a free kick on the left wing.

48:29

Foul by Kevin Großkreutz (Borussia Dortmund).

45:13

Foul by Olivier Giroud (Arsenal).

45:13

Sokratis (Borussia Dortmund) wins a free kick in the defensive half.

45:00

Second Half begins Borussia Dortmund 0, Arsenal 0.

45:00 +1:04 Half time

Half Time First Half ends, Borussia Dortmund 0, Arsenal 0.

42:55

Attempt missed. Robert Lewandowski (Borussia Dortmund) right footed shot from outside the box misses to the left. Assisted by Sven Bender.

40:50 Booking

Booking Robert Lewandowski (Borussia Dortmund) is shown the yellow card for a bad foul.

40:45

Aaron Ramsey (Arsenal) wins a free kick in the defensive half.

40:45

Foul by Robert Lewandowski (Borussia Dortmund).

38:04

Foul by Tomas Rosicky (Arsenal).

38:04

Nuri Sahin (Borussia Dortmund) wins a free kick in the defensive half.

36:49

Attempt missed. Henrikh Mkhitaryan (Borussia Dortmund) left footed shot from the centre of the box is close, but misses to the left. Assisted by Jakub Blaszczykowski following a fast break.

36:06

Bacary Sagna (Arsenal) wins a free kick in the defensive half.

36:06

Foul by Sven Bender (Borussia Dortmund).

35:17

Foul by Mikel Arteta (Arsenal).

35:17

Robert Lewandowski (Borussia Dortmund) wins a free kick on the left wing.

33:37

Foul by Aaron Ramsey (Arsenal).

33:37

Sokratis (Borussia Dortmund) wins a free kick in the defensive half.

31:48

Mesut Özil (Arsenal) wins a free kick in the attacking half.

31:48

Foul by Henrikh Mkhitaryan (Borussia Dortmund).

28:27

Tomas Rosicky (Arsenal) wins a free kick in the attacking half.

28:27

Foul by Marco Reus (Borussia Dortmund).

27:31

Mikel Arteta (Arsenal) wins a free kick in the defensive half.

27:31

Foul by Robert Lewandowski (Borussia Dortmund).

26:52

Offside, Arsenal. Santiago Cazorla tries a through ball, but Kieran Gibbs is caught offside.

24:55

Attempt missed. Jakub Blaszczykowski (Borussia Dortmund) right footed shot from the centre of the box is close, but misses the top right corner. Assisted by Kevin Großkreutz with a cross.

23:40

Foul by Tomas Rosicky (Arsenal).

23:40

Sokratis (Borussia Dortmund) wins a free kick in the defensive half.

22:45 Booking

Booking Mikel Arteta (Arsenal) is shown the yellow card for a bad foul.

22:39

Foul by Mikel Arteta (Arsenal).

22:39

Jakub Blaszczykowski (Borussia Dortmund) wins a free kick in the attacking half.

21:05

Attempt missed. Marcel Schmelzer (Borussia Dortmund) left footed shot from outside the box misses to the left following a corner.

21:03

Attempt blocked. Marcel Schmelzer (Borussia Dortmund) left footed shot from outside the box is blocked.

20:36

Corner, Borussia Dortmund. Conceded by Laurent Koscielny.

18:46

Hand ball by Olivier Giroud (Arsenal).

16:40

Foul by Olivier Giroud (Arsenal).

16:40

Sokratis (Borussia Dortmund) wins a free kick in the defensive half.

16:13

Attempt missed. Neven Subotic (Borussia Dortmund) right footed shot from the centre of the box is close, but misses to the left. Assisted by Sven Bender following a set piece situation.

15:41

Foul by Mikel Arteta (Arsenal).

15:41

Robert Lewandowski (Borussia Dortmund) wins a free kick on the left wing.

10:36

Henrikh Mkhitaryan (Borussia Dortmund) wins a free kick in the defensive half.

10:36

Foul by Tomas Rosicky (Arsenal).

9:22

Corner, Arsenal. Conceded by Marco Reus.

8:39

Foul by Henrikh Mkhitaryan (Borussia Dortmund).

8:39

Mikel Arteta (Arsenal) wins a free kick in the defensive half.

3:53

Corner, Borussia Dortmund. Conceded by Per Mertesacker.

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers