Michail Antonio continued his prolific form as he grabbed West Ham’s winner against Tottenham to lift the Hammers into the Champions League places.
The forward poked in Aaron Cresswell’s dipping corner to score his sixth Premier League goal of the season 18 minutes from time.
Harry Kane earlier saw his back-post header tipped over the crossbar by Lukasz Fabianski, but Spurs failed to capitalise on several decent opportunities.
The win moves West Ham to fourth in the table on 17 points, making it boss David Moyes’ best start to a season since 2004-05 with Everton.
Tottenham sit two points behind their London rivals in sixth.
Manchester United have the chance to move above both sides when they face Liverpool at Old Trafford later.
Moyes and Hammers flying high
Former Everton boss Moyes has struggled to leave his mark on a club since leaving Goodison Park for Manchester United in 2013 but the 58-year-old’s West Ham side are now playing with all the traits that made the Scot one of the top-flight’s most established coaches.
The last time one of his sides started a season as well as this was when he led Everton to a fourth-place finish in 04-05, and the Hammers have similar momentum after climbing into a Champions League spot with this win over their London rivals.
Moyes must also know he has a gem in Antonio, a forward who proves almost unplayable when on form and one who gave £47m centre-back Cristian Romero a ferocious physical battle on Sunday.
It was England captain Kane, however, who the 31-year-old got the better of from a corner to stab home Creswell’s delivery and score his sixth goal in 10 league games against Spurs.
Tottenham had looked arguably the more likely to score in a game of few clear-cut chances, with Son Heung-min stretching the Hammers’ defence and scuffing his shot when well placed after combining smartly with Tanguy Ndombele.
Kane’s header then forced a great save from Fabianski and after the break Spurs got into dangerous positions only for their final ball to let them down, failing to engineer any sort of attempt on goal in the second half.
Boss Nuno Espirito Santo said he believed his side controlled the game, but the Hammers had chances of their own and Pablo Fornals twice forced Hugo Lloris into saves – firstly from an acrobatic volley early on and then with a deflected effort in the second half.
Nuno, like Moyes, may feel he is beginning to leave his mark on this Spurs side but there was no reward for the Portuguese manager for the decision to leave his starting XI at home in a defeat by Vitesse in the Europa Conference League on Thursday.
Spurs now look to get their Premier League campaign back on track against Manchester United next Saturday while West Ham will be eyeing a third successive league win when they visit Aston Villa on Sunday.
West Ham United
- 21OgbonnaBooked at 37mins
- 28SoucekBooked at 21mins
- 20BowenSubstituted forDawsonat 90+1′minutes
- 22BenrahmaSubstituted forLanziniat 85′minutes
- 12Leite de Souza Junior
- 4RomeroBooked at 60mins
- 3ReguilónSubstituted forGilat 84′minutes
- 27Lucas MouraSubstituted forBergwijnat 90+1′minutes
- 28NdombeleSubstituted forLo Celsoat 84′minutes
- 7Son Heung-Min
- 6D Sánchez
- 18Lo Celso
Match ends, West Ham United 1, Tottenham Hotspur 0.
Second Half ends, West Ham United 1, Tottenham Hotspur 0.
Substitution, West Ham United. Craig Dawson replaces Jarrod Bowen.
Substitution, Tottenham Hotspur. Steven Bergwijn replaces Lucas Moura.
Foul by Emerson Royal (Tottenham Hotspur).
Pablo Fornals (West Ham United) wins a free kick on the left wing.
Giovani Lo Celso (Tottenham Hotspur) wins a free kick in the defensive half.
Foul by Michail Antonio (West Ham United).
Substitution, West Ham United. Manuel Lanzini replaces Saïd Benrahma.
Substitution, Tottenham Hotspur. Giovani Lo Celso replaces Tanguy Ndombele.
Substitution, Tottenham Hotspur. Bryan Gil replaces Sergio Reguilón.
Corner, Tottenham Hotspur. Conceded by Ben Johnson.
Attempt saved. Saïd Benrahma (West Ham United) left footed shot from a difficult angle on the left is saved in the bottom left corner. Assisted by Michail Antonio with a through ball.
Emerson Royal (Tottenham Hotspur) wins a free kick in the defensive half.
Foul by Saïd Benrahma (West Ham United).
Goal! West Ham United 1, Tottenham Hotspur 0. Michail Antonio (West Ham United) right footed shot from very close range to the bottom left corner. Assisted by Aaron Cresswell with a cross following a corner.
Corner, West Ham United. Conceded by Hugo Lloris.
Attempt saved. Pablo Fornals (West Ham United) right footed shot from the right side of the box is saved in the top centre of the goal.
Pierre-Emile Højbjerg (Tottenham Hotspur) wins a free kick on the right wing.
Foul by Michail Antonio (West Ham United).
- Our coverage of your Premier League club is bigger and better than ever before – here’s everything you need to know to make sure you never miss a moment