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.
Player of the match
AntonioMichail Antonio
West Ham United
Squad number9Player nameAntonio
Squad number41Player nameRice
Squad number3Player nameCresswell
Squad number20Player nameBowen
Squad number4Player nameZouma
Squad number28Player nameSoucek
Squad number10Player nameLanzini
Squad number21Player nameOgbonna
Squad number1Player nameFabianski
Squad number8Player nameFornals
Squad number22Player nameBenrahma
Squad number15Player nameDawson
Squad number31Player nameJohnson
Line-ups
West Ham
Formation 4-2-3-1
1Fabianski
31Johnson4Zouma21Ogbonna3Cresswell
28Soucek41Rice
20Bowen22Benrahma8Fornals
9Antonio
1Fabianski31Johnson4Zouma21OgbonnaBooked at 37mins3Cresswell28SoucekBooked at 21mins41Rice20BowenSubstituted forDawsonat 90+1'minutes22BenrahmaSubstituted forLanziniat 85'minutes8Fornals9AntonioSubstitutes
7Yarmolenko10Lanzini11Vlasic13Areola15Dawson16Noble23Diop26Masuaku50AshbyTottenham
Formation 4-2-3-1
1Lloris
12Leite de Souza Junior4Romero15Dier3Reguilón
5Højbjerg29Skipp
27Lucas Moura28Ndombele7Son Heung-Min
10Kane
1Lloris12Leite de Souza Junior4RomeroBooked at 60mins15Dier3ReguilónSubstituted forGilat 84'minutes5Højbjerg29Skipp27Lucas MouraSubstituted forBergwijnat 90+1'minutes28NdombeleSubstituted forLo Celsoat 84'minutes7Son Heung-Min10KaneSubstitutes
6D Sánchez11Gil14Rodon18Lo Celso20Alli22Gollini23Bergwijn25Tanganga33DaviesLive Text
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