Kane netted twice in the space of four first-half minutes to take his tally against the Hammers to seven goals in his last six Premier League games.
Javier Hernandez pulled one back for West Ham after Christian Eriksen had made it three, but despite Sergie Aurier picking up a red card and Cheikhou Kouyate netting late on, the hosts were unable to stage a comeback.
West Ham looked slightly more threatening in the early stages, with Hernandez seeing a hopeful effort from distance palmed over by Hugo Lloris and Marko Arnautovic being thwarted by a last-ditch tackle from Aurier in the box.
The first real clear-cut chance did not come until the 34th minute and Tottenham made it count, with Dele Alli running onto Eriksen's ball before picking out Kane in the middle to head home.
And Tottenham then made it two just four minutes later, with Kane finding the back of the net again, this time firing in a rebound after Alli had been denied by a save from Joe Hart.
Kane could have had a hat trick on the hour-mark when he smashed a free kick goalbound, only for his effort to rebound off the post.
But just a few seconds later, Aurier's deflected pass landed at the feet of Eriksen, who picked out the bottom corner from the edge of the box to make it three for Spurs.
It was not long until Kane hit the woodwork again, this time his low effort came back off the other post after he had linked up well with Alli.
West Ham did pull one back on the 65th minute, with Jose Fonte heading on a corner to find Hernandez at the back post, who then nodded home from close range.
And the home side were given a further boost five minutes later when Tottenham were reduced to 10 men after Aurier was shown a second yellow card for a late tackle on Andy Carroll.
West Ham pulled another back with just a few minutes left on the clock when Kouyate arrived at the far post to head in Arthur Masuaku's cross, but Spurs were able to hold on for the three points.