Match ends, Arsenal 2, FC Bayern München 0.
Arsenal 2-0 Bayern Munich
Arsenal revived their Champions League hopes in thrilling fashion with a crucial victory over Bayern Munich at Emirates Stadium.
The Gunners' hopes of reaching the knockout phase were in serious jeopardy after they lost their opening two games away to Dinamo Zagreb and at home to Olympiakos.
Arsene Wenger's side responded by beating Pep Guardiola's Bayern - clear favourites to win Group F - and make a nonsense of those dismal earlier performances.
Bayern dominated possession but Arsenal dug out the win that keeps their hopes alive when substitute Olivier Giroud bundled home from close range in the 77th minute after goalkeeper Manuel Neuer made a rare error as he missed Santi Cazorla's free-kick.
The win was secured in the dying seconds when Mesut Ozil turned in Hector Bellerin's cross, Neuer clawing the ball out only for the officials to adjudge it had crossed the line.
Arsenal were indebted to keeper Petr Cech, restored after replacement David Ospina's mistake in the defeat by Olympiakos, saving superbly from Thiago Alcantara and Arturo Vidal.
Neuer also excelled before his mistake, particularly with a sensational save from Theo Walcott's first-half header.
The different faces of Manuel Neuer
Neuer is widely regarded as the world's best - but it was a mixed night for Germany's World Cup winner.
He produced a save only the greats can contemplate when clawing out Walcott's close-range header when a goal seemed certain.
Could Walcott's header have been directed better? Did he give Neuer just that slight chance of making a save that the best will always take advantage of?
Yes, but it was still a monument to reflexes, agility and technique as Neuer left Walcott dumbfounded, as well as Aaron Ramsey, who had already turned to celebrate.
Neuer, however, proved he was fallible as Arsenal took the lead, making an ungainly dash from goal and flapping hopelessly at Cazorla's free-kick to allow Giroud to scramble home with a hint of handball.
It happens to the best - and it may just have saved Arsenal's Champions League campaign.
Cech proves a point
Arsenal manager Arsene Wenger was uncharacteristically touchy when it was suggested he made a mistake in preferring David Ospina to first choice Petr Cech in their previous Champions League game at home to Olympiakos.
It backfired as Ospina dropped a simple catch from a corner into his own net in the damaging 3-2 defeat.
Wenger was defiant in the face of claims he had made a serious error but the case against him only got stronger with 33-year-old Cech's return and performance against Bayern Munich.
Cech was in the action quickly with a superb reflex save from Thiago and also showed his enduring athleticism to save from Vidal.
This is not to suggest Ospina is a poor keeper - the Colombian is not - but when you have a keeper of Cech's quality at your disposal it is folly to leave him out of a game you cannot afford to lose.
Wenger did make a mistake when he dropped Cech. This game proved it.
The great Arsenal mystery
Arsenal's Champions League aspirations were wrecked last season by a performance of naivety and defensive incompetence in equal measure against Monaco in February when they lost 3-1 at home as they went out in the last 16.
The performance in defeat against Olympiakos was not far behind and left Arsenal fans infuriated.
Before that fixture, Wenger had said Arsenal "must win" all their home games but, after twice falling behind, they threw away the chance of a point when they conceded what proved the winner almost immediately after Alexis Sanchez's equaliser.
How can a team that play so poorly against those opponents acquit themselves so well against Bayern Munich, accepted as a member of European football's royalty under the guidance of one of the game's great coaches in Pep Guardiola?
Guardiola is used to enjoying possession without victory at Emirates. When Barcelona lost a two-goal lead to draw here in April 2010, Arsenal only had 38% of possession - in the first half here Bayern enjoyed a 74.5% share.
And yet, once more, Arsenal dug in. They were defensively resilient, dogged in midfield and, even though the two goals were scrambled, they may well prove to be priceless.
Man of the match - Petr Cech
What this means for Arsenal
The Gunners remain bottom of the table, but are level on three points with Dinamo Zagreb and three behind both Olympiakos and Bayern Munich.
Wenger's side face Bayern at the Allianz Arena on 4 November, before hosting Dinamo later that month.
They finish their group stage campaign at Olympiakos on 9 December.
The top two in each group progress to the knockout stage, with the team finishing third going into the Europa League.
The pundit's view
John Hartson on BBC Radio 5 live: "This was a massive result. Arsenal needed a result and three points.
"They are firmly back in the group and it keeps the momentum going.
"They had to defend for their lives but what a win for Arsenal."
The stats you need to know
- Olivier Giroud's past four goals for Arsenal have come from the bench
- This is the first time Bayern have failed to win at Emirates Stadium, on their third visit
- This was the first time Bayern failed to score in a Champions League group since December 2011, against Man City
- Bayern Munich have won only one of their past six away games in the Champions League (D1 L4)
- Arsene Wenger is the first manager to beat Pep Guardiola's Barcelona and Bayern Munich teams in the Champions League
- 16RamseySubstituted forOxlade-Chamberlainat 57'minutes
- 17SánchezSubstituted forGibbsat 82'minutes
- 14WalcottSubstituted forGiroudat 74'minutesBooked at 83mins
- 14AlonsoSubstituted forKimmichat 70'minutes
- 6Thiago Alcántara
- 23VidalSubstituted forFerreira de Souzaat 71'minutes
- 11Douglas Costa
- 8Martínez Aguinaga
- 13Ferreira de Souza
- Cüneyt Çakir
- Shots on Target
Second Half ends, Arsenal 2, FC Bayern München 0.
Goal! Arsenal 2, FC Bayern München 0. Mesut Özil (Arsenal) left footed shot from the left side of the six yard box to the centre of the goal. Assisted by Héctor Bellerín.
Foul by Robert Lewandowski (FC Bayern München).
Laurent Koscielny (Arsenal) wins a free kick in the defensive half.
Attempt saved. Thiago Alcántara (FC Bayern München) right footed shot from outside the box is saved in the centre of the goal. Assisted by David Alaba.
Offside, Arsenal. Mesut Özil tries a through ball, but Alex Oxlade-Chamberlain is caught offside.
Attempt blocked. David Alaba (FC Bayern München) left footed shot from outside the box is blocked.
Corner, FC Bayern München. Conceded by Petr Cech.
Corner, FC Bayern München. Conceded by Nacho Monreal.
Douglas Costa (FC Bayern München) wins a free kick on the right wing.
Foul by Nacho Monreal (Arsenal).
Attempt blocked. Douglas Costa (FC Bayern München) left footed shot from the right side of the box is blocked. Assisted by Juan Bernat with a cross.
Olivier Giroud (Arsenal) is shown the yellow card for a bad foul.
Manuel Neuer (FC Bayern München) wins a free kick in the defensive half.
Foul by Olivier Giroud (Arsenal).
Attempt saved. Olivier Giroud (Arsenal) header from the centre of the box is saved in the centre of the goal. Assisted by Mesut Özil with a cross.
Corner, Arsenal. Conceded by David Alaba.
Substitution, Arsenal. Kieran Gibbs replaces Alexis Sánchez.
Hand ball by Olivier Giroud (Arsenal).
Goal! Arsenal 1, FC Bayern München 0. Olivier Giroud (Arsenal) header from the centre of the box to the bottom right corner. Assisted by Santiago Cazorla with a cross following a set piece situation.
Foul by Joshua Kimmich (FC Bayern München).
Olivier Giroud (Arsenal) wins a free kick in the attacking half.
Attempt missed. Thomas Müller (FC Bayern München) left footed shot from the right side of the box is close, but misses to the left. Assisted by Rafinha.
Corner, FC Bayern München. Conceded by Petr Cech.
Attempt saved. Robert Lewandowski (FC Bayern München) right footed shot from the right side of the box is saved in the top centre of the goal. Assisted by Douglas Costa.
Substitution, Arsenal. Olivier Giroud replaces Theo Walcott.
Corner, Arsenal. Conceded by Thiago Alcántara.
Substitution, FC Bayern München. Rafinha replaces Arturo Vidal.
Substitution, FC Bayern München. Joshua Kimmich replaces Xabi Alonso.
Attempt saved. Theo Walcott (Arsenal) header from the centre of the box is saved in the bottom left corner. Assisted by Mesut Özil with a cross.
Foul by Xabi Alonso (FC Bayern München).
Alexis Sánchez (Arsenal) wins a free kick in the defensive half.
Attempt missed. Xabi Alonso (FC Bayern München) right footed shot from outside the box misses to the left.
Attempt blocked. Robert Lewandowski (FC Bayern München) left footed shot from outside the box is blocked. Assisted by Thiago Alcántara.
Attempt missed. Francis Coquelin (Arsenal) right footed shot from outside the box is close, but misses to the right. Assisted by Mesut Özil.
Foul by Xabi Alonso (FC Bayern München).
Santiago Cazorla (Arsenal) wins a free kick in the defensive half.
Delay over. They are ready to continue.
Substitution, Arsenal. Alex Oxlade-Chamberlain replaces Aaron Ramsey because of an injury.