Jarrod Bowen and James Ward-Prowse struck after half-time to help West Ham turn the tables on Tottenham with an impressive second-half display to earn a memorable 2-1 win at their rivals.
Cristian Romero put Spurs ahead in the 11th-minute and had Ange Postecoglou's side on course for a first victory since October 27 at the break.
But David Moyes' men had other ideas and after Bowen scored for the seventh away Premier League game in a row, Ward-Prowse capitalised on an error at the back with 16 minutes left.
It consigned injury-hit Tottenham to a fourth defeat in five matches, while ninth-placed West Ham are now only three points behind the hosts following this fifth win in six games.
Both clubs had coped admirably despite the summer departures of talismanic duo Harry Kane and Declan Rice, but injuries were beginning to take their toll on Spurs, while West Ham were without first-choice goalkeeper Alphonse Areola.
It meant Lukasz Fabianski earned a first league start of the season and he was involved in the opening 60 seconds after he collided with Dejan Kulusevski in the penalty area, but Kulusevski had strayed offside anyway.
While Spurs remained without a number of players, Romero did return at the heart of defence and he set about atoning for his red card against Chelsea with the opener in the 11th minute.
From Tottenham's second corner of the match, Pedro Porro's curled delivery was met by a towering header from Romero, who impressively outjumped Kurt Zouma before directing his looping effort into the corner.
Romero held up his hands to the home fans behind the goal in seemingly a gesture of apology after he missed the whole of November due to his three-match ban.
But seven minutes into the second period the Hammers levelled.
Mohammed Kudus' low effort hit Romero and deflected off Ben Davies before it rolled perfectly into the path of Bowen, who smashed into the bottom corner to score on the road again.
Moyes' team appeared a different proposition now and Postecoglou turned to his bench with 23 minutes left as Oliver Skipp and Richarlison entered the fray and the latter should have made it 2-1 soon after.
Pedro Porro produced a superb floated delivery to the back post, but Richarlison steered his header wide from six yards.
It was a guilt-edged chance and after Fabianski denied Porro minutes later, West Ham capitalised on a Tottenham error in the 74th minute.
Udogie's back pass was short and while Vicario dived at the feet of Bowen, Ward-Prowse was first to the loose ball and although his initial effort hit the post, it rolled back for the Hammers midfielder to tap in.
At Goodison Park, Everton climbed out of the relegation zone with a 3-0 win over Newcastle.
The Merseyside club had been plunged into the bottom three of England's top flight by a 10-point deduction last month for breaching the league's financial rules.
But they have responded in impressive fashion with back-to-back wins to rise to 17th in the standings - one point above the drop zone.
Second-half goals from Dwight McNeil, Abdoulaye Doucoure and Beto sealed the victory against the Magpies.
Newcastle had beaten Manchester United 1-0 last weekend but missed the chance to move within a point of fourth-placed Manchester City.
The visitors fell behind in the 79th when McNeil drove into the box and fired a left-footed shot into the corner beyond goalkeeper Martin Dubravka.
Doucoure doubled Everton's lead seven minutes later and Beto made it 3-0 in the 96th.
Australian Associated Press