The Hammers needed just five minutes to breach Spurs’s leaky defence, the returning Michail Antonio finishing from close range following a sharp save from Hugo Lloris.
The hosts doubled their lead seconds after the restart, as Jesse Lingard continued his fine start in east London with a superb curling finish.
Half-time substitute Gareth Bale inspired Spurs to a much-improved second half display and his corner was headed home by Lucas Moura.
Bale went close to an equaliser when his fierce half-volley clipped the top of the crossbar and Heung-min Son hit the post in stoppage-time.
But Spurs could not find a way through the Hammers as Jose Mourinho’s woes deepened and the pressure increased on the manager.
Here is how we rated the two teams…
Ben Johnson (Fornals 82’) 6
Subs not used: Martin, Randolph, Balbuena, Lanzini, Alves,, Odubeko.
Gareth Bale (Lamela 45’) 8
Matt Doherty (Tanganga 45’) 6
Dele Alli (Reguilon 77’) 6
Subs not used: Hart, Alderweireld, Winks,, Sissoko, Davies, Vinicius.