Goals from Eden Hazard and Diego Costa took Chelsea 10 points clear at the top of the Premier League.
Hazard put them ahead against the run of play on 25 minutes and Costa doubled the lead five minutes into the second half by nudging in Hazard’s left-wing corner.
Manuel Lanzini pulled a goal back in injury time but there was no way back for West Ham.
The derby victory moved Antonio Conte’s side a step closer to the title – and came after they had to absorb some pressure in the opening 20 minutes.
They were on the back foot before taking the lead after the irrepressible N’Golo Kante led a devastating counter-attack after Robert Snodgrass had given the ball away.
Hazard exchanged passes with Pedro before skipping around keeper Darren Randolph and slotting home his 11th goal of the season.
With Andy Carroll back in the West Ham side, they looked to get the ball into the box for the striker at every opportunity and Snodgrass had some success for them on the left flank, particularly in the first half.
But Chelsea defended well, with Victor Moses winning a crucial ball in the air to prevent Carroll getting to Sofiane Feghouli’s early cross.
The Hammers had plenty of possession and finally created an opening five minutes before half-time, when Lanzini fired over from near the edge of the penalty area.
Chelsea were quickly back on the attack, with Randolph saving Pedro’s shot after Hazard’s low cross had evaded Costa.
However, Costa was perfectly positioned to score from close range early in the second half.
Pedro Obiang attempted to head Hazard’s corner clear but succeeded only in flicking the ball towards the Blues striker, who made no mistake.
Marcos Alonso then went close to making it three, shooting narrowly wide after skilfully dodging two challenges in the box.
West Ham responded a spell of pressure during which Thibaut Courtois blocked a shot from Feghouli and Hammers defender Jose Fonte headed wide.
But Chelsea were largely comfortable and would have scored again had Randolph not produced a fine save to deny Costa.
Lanzini took his goal well, firing past Courtois after being set up by Andre Ayew.
This post was last modified on 06/03/2017