They took the lead just nine minutes in when Kurt Zouma turned the ball into his own net, and Tottenham's advantage was doubled before long as Son Heung-min applied the finishing touch after a superb pass from Harry Kane.
West Ham pegged a goal back before half-time when Said Benrahma found the net from a set-piece scenario, however Tottenham restored their two-goal advantage late in the encounter as Kane and Son combined once again to give the latter his second of the game and secure a triumph of enormous significance for Spurs.
Story of the game
There was a brilliant atmosphere at the Tottenham Hotspur Stadium for this one, a clash between two clubs who aren't exactly the best of friends — it was met with a characteristically nervy beginning to the encounter as both sides took the time to find their feet.
But it wasn't long before the breakthrough was achieved, and it fell the way of the hosts. Harry Kane, in scintillating form these days, strode his way into the area and got to the by-line before drilling the ball across the six-yard line and forcing Zouma to turn it into his own net with Son breathing down his neck.
West Ham came agonisingly close to an immediate equaliser when Michail Antonio zipped one across goal having outmuscled Eric Dier to get into the box. Then, moments later, Tottenham went straight up the other end through a brilliant run down the right from Dejan Kulusevski; the Swede exchanged a neat one-two with Kane before setting up Son who was unlucky to hit the outside of the post from 12 yards.
This was a fantastically frantic start to an always feisty encounter. And, about 15 minutes after the opener, Tottenham doubled their advantage in superb fashion.
Once again Kane was the provider as he dropped into midfield before playing a brilliant ball through to Son in hind the Hammers defence. The forward allowed Zouma to catch up with him before dummying past the defender and unleashing an arced effort into the far top corner which left Lukasz Fabianski rooted to the spot.
Perhaps West Ham were merely falling victim to the fatigue understandably brought on by playing 120 minutes against Sevilla in the Europa League in midweek, but one thing was for sure: Spurs were right on the ball and absolutely deserved their two-goal lead with 30 minutes gone.
Nonetheless, with just over ten minutes of the half remaining the visitors did manage to peg a goal back. It came from a corner as Craig Dawson flicked the ball on for Benrahma, unmarked at the back post, and the Algerian made no mistake with a deft finish in at Hugo Lloris' near post.
That goal saw the momentum shift somewhat. All of a sudden, West Ham had shaken off their tiredness and looked more energised and disciplined both with and without the ball. It had become a much more even affair; Kane summed up Spurs' growing trepidation when he let fly from 25 yards with an effort which, to his credit, drew a decent save from Fabianski.
The Hammers weren't far from an equaliser when Tomas Soucek came extremely close to connecting with Antonio's cross from the left edge of the box, but it just about evaded the leap of the Czech midfielder and Tottenham just about held onto their advantage heading into the break.
Having ended the first-half slowly, Spurs came flying out of the blocks for the second, and nearly restored their two-goal advantage when Kane again created an opportunity for a teammate — this time his cross looked destined to meet the head of Matt Doherty, but the wing-back missed the ball under pressure from Aaron Cresswell.
Next, Rodrigo Bentancur initiated a superb counter-attack which set Son darting through the middle of the pitch. The forward darted to the edge of the box before supplying Kane to his left, but the striker could only draw an accomplished save down low from Fabianski.
Spurs were nearly made to regret their profligacy when neat build-up from West Ham worked the space for Cresswell to whip a vicious ball across goal; it found Antonio at the back post but the striker skewed his first-time effort well high and wide of the target.
That would be Antonio's last action as David Moyes shuffled his pack just before the hour-mark, with Andriy Yarmolenko — boasting a goal in each of his last two substitute appearances — taking his place up front. Pablo Fornals also replaced Arthur Masuaku as West Ham reverted to their usual four-at-the-back formation.
The hosts were finding more and more space going forward as West Ham opened up in search of an equaliser. On the 70-minute mark, Kane offloaded the ball to Kulusevski on his right, and the winger immediately bent an effort with his left foot in search of the top corner which wasn't far off at all.
Everything that Tottenham did well today involved Kane in one way or another. Again, the 28-year old dropped deep to draw the Hammers' back-line out of position before executing a perfectly weighted pass through to Reguilon one-on-one with Fabianski, but the wing-back didn't get his footing right and only produced a tame effort.
A goal would really have crowned Kane's performance, and he was presented with the perfect opportunity to get it with about ten minutes remaining. He was set up by a brilliantly weighted pass from Pierre-Emile Hojbjerg but the strikers took it on his wrong foot, awkwardly prodding the ball way over the bar as a gilt-edged chance to finish the game off went begging.
Spurs came close again when Doherty's drilled effort from inside the box was blocked by Cresswell, and Bentancur then sent his first-time follow-up wide of the target. The game should have been tied up with one of those three attempts.
Moments later, however, the result was indeed sealed. A headed flick-on from Kane set Son through one-on-one with Fabianski and the forward made no mistake, summoning up a powerful finish in at the near post to send the stadium into raptures and secure his side a victory of enormous significance.
Visibly jaded from their midweek endeavours, West Ham's attempted second-half fight-back had lacked the energy and intensity it would have needed to be successful, but it was a spirited performance nonetheless — Tottenham relied heavily on Kane's brilliance to secure them a crucial three points in the race for European qualification.
Takeaways from the match
What is Kane better at: passing or finishing?
The answer to that might seem obvious for a player with the fifth most goals in Premier League history, but it's nevertheless a debate worth having after Kane played the role of provider in all three of Tottenham's goals today.
His finishing gets enough acclaim as it is, and deservedly so, but Kane's ability to pick out his teammates is second to none, and it's a quality which has been brought out especially well under Antonio Conte with the striker often told to drop deep and create space for players such as Son and Kulusevski.
Kane has always been much more than a one-dimensional striker but, in the midst of this fine vein of form he's enjoying currently, his attacking skillset is undoubtedly one of the most complete in the world. For Tottenham's sake, long may it continue; Spurs are infinitely better when Kane is on form.
Miserable derby day for Zouma
Zouma was met with a hostile reception here, as he is likely to be for the foreseeable future, and his performance appeared to suffer accordingly.
His early own-goal was unfortunate and pretty unpreventable, but it nonetheless set his side on the back foot from the get-go, giving them an uphill task against a Tottenham side who were right on the ball today.
The Frenchman was then beaten by Son for the second goal and lost a crucial aerial duel with Kane in the build-up to the third; it was a day to forget for Zouma, but he doubtless still remains crucial to Moyes' plans.
Tottenham Hotspur: Lloris [c]; Romero, Dier, Davies; Doherty, Bentancur, Hojbjerg, Reguilon (Emerson 87'); Kulusevski (Bergwijn 90'), Kane, Son (Lucas 90').
Unused subs: Gollini, Rodon, Sanchez, Winks, White, Scarlett.
West Ham United: Fabianski; Zouma, Dawson, Cresswell; Johnson, Rice [c], Soucek, Masuaku (Fornals 56'); Lanzini (Vlasic 84'), Antonio (Yarmolenko 56'), Benrahma.
Unused subs: Areola, Fredericks, Diop, Noble, Kral, Perkins.
Referee: Anthony Taylor.
After the upcoming international break, Tottenham return to their north London home on 3 April when Newcastle United visit.