Eddie Nketiah’s late goal ensured Arsenal maintained their 100% Premier League start as they condemned West Ham to a second successive defeat.
The Gunners largely controlled the early stages and went ahead with their first effort on goal when Alexandre Lacazette headed in from Pierre-Emerick Aubameyang’s chipped cross.
Despite Mikel Arteta’s team largely dominating possession West Ham slowly grew into the game.
The Hammers, who always looked dangerous on the counter-attack, levelled just before the interval when Michail Antonio bundled in Ryan Fredericks’ cross at the end of a sweeping move.
While Arsenal continued to enjoy more of the ball after the break, David Moyes’ side created the better openings in front of goal with Antonio heading against the bar and seeing a scuffed close-range effort saved by Bernd Leno.
However, Nketiah’s late tap-in from a Dani Ceballos pass ensured Arsenal continued their fine home record against the Hammers, having won 11 of the last 12 meetings at Emirates Stadium.
Arsenal eke out another win
While there have been considerable signs of improvement at Arsenal since Arteta took charge last December this performance appeared to fizzle out after Lacazette had registered his 50th goal in all competitions for the club.
The crispness of passing, swift attacking and solidity at the back were all noticeably missing and it allowed West Ham a route back into the encounter.
However, the pleasing aspect for the Spaniard will be that his team were still capable of eking out a victory from an under-par showing.
Nervy at the back throughout, Arteta’s side survived several close scares and struggled to break free of their lethargy despite the introduction of £72m winger Nicolas Pepe.
It took another substitute, Nketiah, to make the difference, with his tap-in coming eight minutes after he had come on to replace Lacazette.
More to follow.

Player of the match
NketiahEddie Nketiah
West Ham United
-
Squad number30Player nameAntonio
-
Squad number28Player nameSoucek
-
Squad number41Player nameRice
-
Squad number20Player nameBowen
-
Squad number26Player nameMasuaku
-
Squad number21Player nameOgbonna
-
Squad number24Player nameFredericks
-
Squad number1Player nameFabianski
-
Squad number23Player nameDiop
-
Squad number18Player nameFornals
-
Squad number7Player nameYarmolenko
-
Squad number3Player nameCresswell
-
Squad number22Player nameHaller
-
Squad number8Player nameFelipe Anderson
Line-ups
Arsenal
- 1Leno
- 16Holding
- 6dos Santos Magalhães
- 31Kolasinac
- 2Bellerín
- 8Ceballos
- 34Xhaka
- 7SakaSubstituted forDavid Luizat 89′minutes
- 12WillianSubstituted forPépéat 64′minutes
- 9LacazetteSubstituted forNketiahat 77′minutes
- 14Aubameyang
Substitutes
- 15Maitland-Niles
- 19Pépé
- 23David Luiz
- 25Elneny
- 28Willock
- 30Nketiah
- 33Macey
West Ham
- 1Fabianski
- 24FredericksBooked at 40mins
- 23Diop
- 21Ogbonna
- 3Cresswell
- 26MasuakuSubstituted forFelipe Andersonat 90′minutes
- 20BowenSubstituted forYarmolenkoat 83′minutes
- 28Soucek
- 41Rice
- 18FornalsSubstituted forHallerat 88′minutes
- 30Antonio
Substitutes
- 4Balbuena
- 7Yarmolenko
- 8Felipe Anderson
- 10Lanzini
- 22Haller
- 31Johnson
- 35Randolph