West Ham lifted themselves to fourth in the Premier League with a 1-0 win over Tottenham as Michail Antonio’s goal proved the difference.
Antonio struck with 17 minutes remaining as he met Aaron Cresswell's fierce corner from the left, meaning West Ham have now scored 18 goals via set-pieces since the start of last season.
The response from Spurs was non-existent following the goal with Nuno Espirito Santo's team failing to register a shot on goal in the second half as their run of two straight victories came to an end.
- How the teams lined up | Match stats
- Premier League table | Fixtures | Live football on Sky Sports
- Get Sky Sports
The victory sends the Hammers above Spurs in the table with the north Londoners now suffering four straight defeats in London derbies.
West Ham: Fabianski (7), Johnson (7), Zouma (7), Ogbonna (7), Cresswell (7), Soucek (7), Rice (8), Bowen (6), Benrahma (6), Fornals (7), Antonio (8)
Subs: Dawson (N/A), Lanzini (N/A)
Tottenham: Lloris (8), Royal (6), Romero (7), Dier (6), Reguilon (6), Hojbjerg (7), Skipp (7), Lucas Moura (6), Ndombele (7), Son (6), Kane (5)
Subs: Gil (6), Bergwign (N/A)
Man of the match: Declan Rice
How Antonio punished timid Spurs...
Both teams arrived knowing a win would take them into the top four and it was West Ham that started like the team fuelled by that motivation.
Hugo Lloris had to be very alert in the opening exchanges to flick a corner away from Kurt Zouma's head and palm away an acrobatic effort from Pablo Fornals. With Antonio causing his usual havoc down both channels, West Ham were carving out good opportunities but struggled to take them as Fornals fired off target - as did Tomas Soucek moments later.
- David Moyes kept the same XI that beat Everton and brought back Michail Antonio, Lukasz Fabianski, Kurt Zouma, Angelo Ogbonna, Pablo Fornals and Said Benrahma after they were rested in the Europa League on Thursday.
- No surprises for Spurs either, who named the same team that beat Newcastle 3-2. All the starting XI were rested in midweek in Europe.
Spurs then arrived in the game with Lucas Moura spurning a glorious opening from eight yards out on 20 minutes after some fine running in behind from Heung-Min Son. The South Korean striker spun in behind again minutes later but couldn't find a way past Lukasz Fabianski from a tight angle.
West Ham continued to pose a threat when enjoying territory in the Spurs half and Soucek really should have opened the scoring from five yards out but thumped a header wide of the post.
Spurs almost edged ahead before the break but Harry Kane's header from a tight angle produced a top save from Fabianski, who tipped the ball over the crossbar.
Despite no goals, the game ebbed and flowed in exciting fashion after the break. Sergio Reguilon flashed a dangerous ball across West Ham's six-yard box but Oliver Skipp was the furthest man forward and his timing was off that far up the pitch.
The Hammers had plenty of the play but didn't seriously test Lloris until 71 minutes. Fornals showed great tenacity to win the ball back from Reguilon and his deflected drive had to be helped behind by the fingertips of the French goalkeeper.
Spurs wouldn't survive the following corner though.
Cresswell provided the quality from the left and Antonio was left unmarked about eight yards out. Spurs just stood and watched as West Ham's top scorer in Premier League history poked home from close range.
Nuno's side still had 17 minutes to stage some sort of a fightback but with Kane non-existent, their lack of guile and firepower in the final third was noticeable as they put the Hammers under no pressure.
In the end, it was a comfortable three points for David Moyes' men.
Man of the match: Declan Rice
Another game, another man of the match for the England midfielder. What a colossus he is. At one point, three Tottenham midfielders surrounded him by the touchline but he still shrugged them off and exploded into space, before not quite getting the final pass right into Antonio. Once he starts to develop his game in that department, then he will be world-class. Although, he might be already.
What the managers said...
West Ham boss David Moyes: "I thought the game was close. We played slightly different today in that it was good to see that we've won the game without having as much of the ball. In Premier League games you have to find different ways to win it. Tottenham had a bit of possession but overall we were really resilient. The players stuck at it. The players were fantastic. We have lost goals in the last minute in games after Europe so we've got over that today. The West Ham fans have got a good team that work hard for them - everybody was really good in the stadium.
On top-four push: "It's where I want us to be, it's where I expect us to be. There have been a couple of games we've missed out on when we've played well enough. Today we didn't have as much of the ball and play quite as well but winning games is important on the back of two other wins. It's been a good week for us."
Tottenham boss Nuno Espirito Santo: "We were the better team, honestly. I think we controlled the game, we had chances. We had possession. West Ham are a good team but they only created chances on counter-attacks and set-pieces. We played better, but this is football.
"The last pass was there but we need to be more aggressive in our offensive game. We controlled the game. The whole game was under control.
"The table is a reference but doesn't guide us. We have to improve our character as a team, our wish to want to achieve a better team game. We need to work on that."
- West Ham's 17-point haul after nine matches is their best return since 2015-16, when they went finished seventh under Slaven Bilić, while it is three more points than they had after the same number of games last season.
- Spurs failed to have an attempt of any kind during the second half of this match, last doing so against Arsenal back in December last year. Indeed, it's the third time since the start of last season that they've failed to do so in the second 45 minutes, more than any other side.
- Antonio has now scored more goals in all competitions against Spurs than any other side as a Premier League player (6), including netting in three in a row against them at the London Stadium.
- Kane has failed to score in each of his last five Premier League London derbies, his joint-longest wait for a goal in such clashes alongside a five-game run between May and December 2014.
- All of Antonio's Premier League goals have been scored from inside the penalty area, with only Tim Cahill (56) and Chicharito (53) managing more goals in the competition with 100% of them coming from inside the box.
Analysis: Kane slips back to his old ways
Sky Sports' Lewis Jones writes:
Harry Kane's goal and assist at Newcastle was supposed to be the turning point for his season. Maybe we jumped the gun.
Kane has scored 11 Premier League goals against the Hammers but this wasn't the same Kane, who was making his 250th league appearance for Spurs.
Sloppy with his build-up play and lacklustre with his movement off the ball, Kane slipped back to the early-season narrative of not actually looking that interested in what was going on around him. For the majority, the game passed him by. Kane had just 35 touches of the ball - the fewest of any Tottenham player and failed to create any chances for his team-mates. He was the only outfield player in both sets of teams not to win possession back for his side. Kurt Zouma and Angelo Ogbonna rarely broke a sweat in dealing with Kane's threat.
A chance of his own did fall his way when he attacked a Reguilon cross but his header was tipped away by Fabianski.
West Ham face a home fixture with Manchester City in the Carabao Cup on Wednesday before travelling to play Aston Villa next Sunday, a game live on Super Sunday. Meanwhile, Spurs play Burnley in the cup on Wednesday and then welcome Manchester United on Super Sunday.