Samir Nasri played his first Premier League game since appearing for Manchester City against West Ham in August 2016
A superb finish by West Ham midfielder Declan Rice - the 19-year-old's first Premier League goal - earned his side a fine win and dented Arsenal's top-four ambitions.
Rice beat Bernd Leno with a first-time shot after a good lay-off by Samir Nasri, who was making his first top-flight appearance in England since August 2016.
In a highly-competitive London derby, Alexandre Lacazette was denied by an excellent save from Lukasz Fabianski as Arsenal failed to score in the league for the first time since the opening day of the season.
West Ham were full value for their win, with Marko Arnautovic, Rice, Nasri and Felipe Anderson all going close when the game was goalless.
-
Reaction from London Stadium
Arnautovic 'wants West Ham to accept £35m Chinese bid'
Juventus leading race to sign Arsenal's Ramsey
While West Ham move up to eighth in the table after a sixth win in nine league games, Arsenal remain fifth.
The Gunners are three points behind fourth-placed Chelsea, who entertain Newcastle at 17:30 GMT.
Bright future for Rice and West Ham
This was a result to remember for Manuel Pellegrini and West Ham, with the performance a fitting way to mark 50 Premier League games at London Stadium.
Bournemouth, Wolves, Tottenham, Manchester City and Watford have all won at the venue this season.
Yet the Hammers turned in one of their best performances under Pellegrini to claim a first win over Arsenal since 2015.
Nasri brought an air of authority and added quality to the midfield while Marko Arnautovic was busy and inventive despite the player's agent and brother saying the Austrian striker wants to move to a Chinese club during this transfer window.
The 29-year-old did, however, wave to fans when he was replaced with 20 minutes to go.
West Ham are not home again until 4 February - after the transfer window closes - and if Arnautovic was saying his goodbyes, at least West Ham's future is bright in the shape of Rice.
The teenager has been a revelation this season and played with an air of maturity way beyond his years.
After spurning a good chance to open the scoring on the stroke of half-time when he headed wide, Rice punished Arsenal's defence with a superb finish into the roof of the net after a poor headed clearance.
Will Arsenal finish in the top four?
Arsenal are now without a win in five league games away from the Emirates Stadium and are playing catch-up in the race for a Champions League place.
Only leaders Liverpool and Manchester City have found the net more than the Gunners, but against West Ham they failed to score in the league for only the second time this season - and have not kept a clean sheet since 8 December.
Perhaps more worryingly for Unai Emery's side, they rarely looked like getting back on level terms after Rice's special finish.
Emery even sent on Aaron Ramsey, who will leave Arsenal at the end of the season, to try and rescue his side.
Arsenal had started well enough with Alexandre Lacazette looking particularly sharp and strong.
Teenager Matteo Guendouzi went close from outside the area when the game was goalless, while Aaron Creswell made a superb challenge to deny a rare chance for Pierre-Emerick Aubameyang.
On a day to forget for Arsenal, captain Laurent Koscielny did find the net in the third minute of stoppage time but his header was ruled out for offside.
What's next?
Bournemouth are next up for West Ham at the Vitality Stadium on Saturday, 19 January (15:00 GMT). On the same day, Arsenal host Chelsea (17:30).
-
Line-ups
Match Stats
Live Text
Line-ups
West Ham
1Fabianski
5Zabaleta
23Diop
21Ogbonna
3Cresswell
16Noble
41Rice
30AntonioSubstituted forObiangat 82'minutes
18NasriSubstituted forSnodgrassat 71'minutes
8Felipe Anderson
7ArnautovicSubstituted forCarrollat 71'minutes
Substitutes
9Carroll
11Snodgrass
13Adrián
14Obiang
26Masuaku
27Pérez
45Diangana
Arsenal
19Leno
20MustafiBooked at 46minsSubstituted forRamseyat 59'minutes
5Papastathopoulos
6Koscielny
15Maitland-NilesSubstituted forBellerÃnat 69'minutes
29Guendouzi
34XhakaSubstituted forTorreiraat 59'minutes
31KolasinacBooked at 60mins
14Aubameyang
17Iwobi
9Lacazette
Substitutes
1Cech
2BellerÃn
8Ramsey
11Torreira
12Lichtsteiner
18Monreal
49Nketiah
Referee:
Jonathan Moss
Attendance:
59,946
Match Stats
Home TeamWest HamAway TeamArsenal
Possession
Home41%
Away59%
Shots
Home11
Away11
Shots on Target
Home3
Away2
Corners
Home7
Away3
Fouls
Home7
Away10
Live Text
Posted at
Match ends, West Ham United 1, Arsenal 0.
Full TimePosted at 90'+4'
Second Half ends, West Ham United 1, Arsenal 0.
Posted at 90'+3'
Offside, Arsenal. Alex Iwobi tries a through ball, but Sead Kolasinac is caught offside.
Posted at 90'
Corner, Arsenal. Conceded by Declan Rice.
Posted at 88'
Foul by Pierre-Emerick Aubameyang (Arsenal).
Posted at 88'
Pedro Obiang (West Ham United) wins a free kick on the left wing.
Posted at 87'
Offside, West Ham United. Lukasz Fabianski tries a through ball, but Andy Carroll is caught offside.
Posted at 83'
Offside, Arsenal. Aaron Ramsey tries a through ball, but Sead Kolasinac is caught offside.
SubstitutionPosted at 82'
Substitution, West Ham United. Pedro Obiang replaces Michail Antonio.
Posted at 79'
Héctor BellerÃn (Arsenal) wins a free kick on the right wing.
Posted at 79'
Foul by Felipe Anderson (West Ham United).
Posted at 77'
Laurent Koscielny (Arsenal) wins a free kick in the defensive half.
Posted at 77'
Foul by Andy Carroll (West Ham United).
Posted at 75'
Offside, West Ham United. Mark Noble tries a through ball, but Michail Antonio is caught offside.
Posted at 74'
Foul by Sokratis (Arsenal).
Posted at 74'
Andy Carroll (West Ham United) wins a free kick in the defensive half.
SubstitutionPosted at 71'
Substitution, West Ham United. Andy Carroll replaces Marko Arnautovic.
SubstitutionPosted at 71'
Substitution, West Ham United. Robert Snodgrass replaces Samir Nasri.
Posted at 70'
Corner, Arsenal. Conceded by Declan Rice.
SubstitutionPosted at 69'
Substitution, Arsenal. Héctor BellerÃn replaces Ainsley Maitland-Niles.
Posted at 68'
Attempt saved. Matteo Guendouzi (Arsenal) right footed shot from outside the box is saved in the bottom right corner.
Posted at 68'
Lucas Torreira (Arsenal) wins a free kick in the defensive half.
Posted at 68'
Foul by Marko Arnautovic (West Ham United).
Posted at 67'
Attempt missed. Alex Iwobi (Arsenal) left footed shot from the left side of the box is close, but misses to the right. Assisted by Aaron Ramsey.
Posted at 65'
Matteo Guendouzi (Arsenal) wins a free kick in the defensive half.
Posted at 65'
Foul by Mark Noble (West Ham United).
Posted at 64'
Attempt missed. Pierre-Emerick Aubameyang (Arsenal) left footed shot from the centre of the box is close, but misses the top left corner. Assisted by Sead Kolasinac.
Posted at 63'
Attempt missed. Pierre-Emerick Aubameyang (Arsenal) header from the centre of the box misses to the right. Assisted by Aaron Ramsey with a cross.
BookingPosted at 60'
Sead Kolasinac (Arsenal) is shown the yellow card for a bad foul.
Posted at 60'
Foul by Sead Kolasinac (Arsenal).
Posted at 60'
Michail Antonio (West Ham United) wins a free kick on the right wing.
SubstitutionPosted at 59'
Substitution, Arsenal. Aaron Ramsey replaces Shkodran Mustafi.
SubstitutionPosted at 59'
Substitution, Arsenal. Lucas Torreira replaces Granit Xhaka.
Posted at 58'
Attempt missed. Angelo Ogbonna (West Ham United) header from the centre of the box misses to the left. Assisted by Felipe Anderson with a cross following a set piece situation.
Posted at 57'
Foul by Alexandre Lacazette (Arsenal).
Posted at 57'
Mark Noble (West Ham United) wins a free kick on the right wing.
Posted at 57'
Corner, West Ham United. Conceded by Sokratis.
Posted at 56'
Attempt saved. Michail Antonio (West Ham United) right footed shot from a difficult angle on the right is saved in the top centre of the goal. Assisted by Felipe Anderson with a cross.
Posted at 55'
Corner, West Ham United. Conceded by Alex Iwobi.
Posted at 54'
Attempt missed. Matteo Guendouzi (Arsenal) right footed shot from outside the box misses to the left.
Show more updates
goal
Source: bbc.com