West Ham moved into the Premier League's top four after a hard fought 1-0 win over Tottenham at London Stadium.
Michail Antonio was the hero once more, smartly turning home Aaron Cresswell's superb out-swinging corner with just over 15 minutes remaining after both sides had laboured throughout the game.
The hosts started the match in the ascendancy, seemingly continuing the momentum of their fine midweek win over Genk in the Europa League.
But despite being the better side for the first 15 minutes, West Ham didn't create too many clear cut chances; Pablo Fornals' low drive that was pushed away by Hugo Lloris the closest they came to breaking the deadlock.
Spurs grew into the game, courtesy of Oliver Skipp and Pierre-Emile Hojbjerg gaining control of the midfield battle, and after Lucas Moura had lofted a half chance over the bar, Son Heung-min should really have done better when firing meekly at Lukasz Fabianski.
That was a lucky escape for the Hammers, and the visitors soon had one of their own; Tomas Soucek somehow planting a header wide of the post from Said Benrahma's devilish centre.
Spurs' best chance of the half then fell the way of Harry Kane, but his firm header from Sergio Reguilon's cross was well tipped over by Fabianski.
The second half was somewhat anti-climatic, as both sides struggled to really build up any head of steam. Fornals had the only real chance of note as he was again denied by Lloris, before the deadlock was broken by Antonio from a set piece.
The 31-year-old bagged his sixth goal of the season, punishing Spurs' slack zonal marking at the front post to give Lloris no chance. It proved to be enough for David Moyes's side, as the toothless visitors failed to trouble Fabianski again.
Here's how both sides players rated on the day...
West Ham player ratings
1. Goalkeeper & defenders
Lukasz Fabianski (GK) - 7/10 - Saved smartly from Kane in the first half and was smart with his positioning on more than one occasion - smothering attempted cut-backs across the six-yard box.
Ben Johnson (RB) - 7/10 - Another confident display from a young full-back still learning his trade.
Kurt Zouma (CB) - 7/10 - Perhaps a little fortunate not to give away a first half penalty after clashing with Ndombele. Clumsy in possession at times but generally rock solid.
Angelo Ogbonna (CB) - 7/10 - Stifled Kane well and always seems to be in the right place at the right time. A real leader and model of consistency.
Aaron Cresswell (LB) - 8/10 - His delivery from set pieces really is sensational. Asked the question of Spurs' defence with another trademark corner and they weren't up to the task.
Declan Rice (CM) - 6/10 - Kept things ticking over in West Ham's midfield but wasn't his usual effervescent self. Perhaps a little leggy after playing so much football.
Tomas Soucek (CM) - 6/10 - Played in his more favoured box-to-box midfield role and really should have a buried header in the first half.
Said Benrahma (AM) - 5/10 - A quiet afternoon for the Algerian playmaker. Played in-behind Antonio but didn't really get to influence the game in his usual flamboyant way.
Jarrod Bowen (RW) - 6/10 - Not Bowen's most dynamic showing as he wasn't really able to stretch Reguilon. Typically hard working, nevertheless, and provided able support.
Michail Antonio (ST) - 7/10 - Hold-up play wasn't as effective as we've seen previously but still gave Cristian Romero a torrid afternoon. Reacted superbly to turn home Cresswell's corner, his sixth Premier League goal of the season.
Pablo Fornals (LW) - 7/10 - End product was lacking at times but you couldn't fault Fornals' application. A smart operator who was very good in the first 45.
Manuel Lanzini (83') - N/A
Craig Dawson (90') - N/A
Tottenham player ratings
5. Goalkeeper & defenders
Hugo Lloris (GK) - 6/10 - Got down well to deny Fornals early on. A comfortable afternoon.
Emerson Royal (RB) - 5/10 - Didn't pose any problems going forward, nor did he enjoy the movement of Fornals.
Cristian Romero (CB) - 6/10 - Seemed to relish the physical battle with Antonio, but did let his temper boil over when falling out with Fornals. Booked and sloppy in possession but feisty in a good way.
Eric Dier (CB) - 6/10 - Controlled things well for the most part, keeping clear cut chances to a minimum.
Sergio Reguilon (LB) - 6/10 - Gallivanted up and down the left flank in the first half, and almost set Oliver Skipp up at the beginning of the second. Defensively okay.
Oliver Skipp (CM) - 6/10 - Allowed Spurs to gain a foothold in the game, recycling possession neatly. Simple but effective, yet even he faded into obscurity.
Pierre-Emile Hojbjerg (CM) - 5/10 - A little more adventurous than his midfield partner, helping Spurs transition from defence into attack. Tired as the game wore on and didn't do enough.
Tanguy Ndombele (AM) - 6/10 - Started well, and could easily have earned Spurs a penalty after tumbling over a Zouma challenge. Faded as the game went on.
Lucas Moura (RF) - 4/10 - Looked to make things happen in the first half, driving at West Ham's defence, but was phased out of the game as Spurs ran out of ideas.
Harry Kane (ST) - 4/10 - May feel he should have troubled Fabianski more than he did with a first half header, particularly as that was his only real involvement. Will be very frustrated at his lack of involvement.
Son Heung-min (LF) - 6/10 - Played more inside than usual, mixing up his play by dropping inside and attempting to sprint in behind. Inventive with his movement in the first period and looked the most likely to make something happen.
Bryan Gil (83') - N/A
Giovani Lo Celso (83') - N/A
Steven Bergwijn (90') - N/A