Antonio Conte's team went in front through Kurt Zouma's own goal before Son doubled their lead.
Said Benrahma reduced the deficit, but Son struck again in the second half to give Tottenham a fourth victory from their last five league games.
Tottenham move up to the fifth place and sit just three points behind their north London rivals Arsenal in the race to qualify for next season's Champions League via a top-four finish.
Although Tottenham have played a game more than Arsenal, they are firmly in the hunt with a clash against the Gunners still to come later this season.
After the high of beating Sevilla to reach the Europa League quarterfinals on Thursday, this was a major setback to West Ham's hopes of clinching a top-four berth.
David Moyes' men are seventh and trail Arsenal by six points, with the Gunners holding two games in hand.
Tottenham had lost five of their previous seven Premier League London derbies this season.
But they took the lead in the ninth minute when Zouma deflected Harry Kane's pass into his own net as he tried to stop the delivery.
There was extra relish in the celebrations of Tottenham fans who jeered Zouma following the French defender's shocking abuse of his pet cat.
Son was inches away from doubling Tottenham's lead with a fierce drive that smacked off the post.
South Korea forward did not have to wait long to get on the scoresheet as he latched onto Kane's defence-splitting pass and lifted a clinical finish past Lukasz Fabianski in the 24th minute.
It was a landmark moment for Kane and Son, who have combined for 38 Premier League goals with 19 assists each, the most of any duo in the competition's history.