Defoe scored either side of half-time to sink his former club and Gareth Bale also found the net to give Tottenham a confident and morale-boosting win, but the contest was marred by offensive chanting from the away end at White Hart Lane.
Back on the pitch Spurs were far the better team and hugely deserved the win, which moved the north London club above West Ham in to seventh. The only crumb of comfort for the visitors was Andy Carroll's late header - his first goal for the club.
The hosts flew out of the blocks with the verve they lacked in Rome in midweek as Defoe gained a yard in the box in the first minute, but Joey O'Brien tracked back to rescue the Hammers. He rifled a poor shot wide but then showed initiative by latching on to Sandro's through-ball soon after only to shoot straight at Jussi Jaaskelainen.
West Ham got back in the game towards the end of the first half as Kevin Nolan's shot was blocked by Sandro. Tottenham continued their domination after the restart and Bale drove powerfully at Jaaskelainen soon after but O'Brien cleared before Defoe could convert the rebound.
Dempsey came agonisingly close to adding a second, the American firing a peach of a drive that clattered the West Ham woodwork.
Dempsey put Spurs' nerves to rest when he lifted the ball over the West Ham defence and found Bale, who prodded past Jaaskelainen. Tom Huddlestone then Carroll and Sandro snatched the ball off Mohamed Diame to release Lennon. The winger sped clear off his marker and squared for Defoe, who made it 3-0.
Tottenham coasted along but their lead was reduced by one when Carroll met O'Brien's cross to head home. Jaaskelainen saved well to prevent Defoe from grabbing a hat-trick and Bale also went close to adding his second in the end.