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.
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.
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).
More to follow.