West Ham moved up to fifth in the Premier League with a win over 10-man Everton, a result that keeps the Toffees in relegation trouble.
Aaron Cresswell scored a wonderful free-kick to open the scoring for the hosts when he curled the ball past England goalkeeper Jordan Pickford at London Stadium.
But Everton, without an away league win since 28 August, started the second half brightly as Dominic Calvert-Lewin struck the angle of post and crossbar before Mason Holgate's well-controlled half-volley made it 1-1.
However, they were only level for five minutes. Michail Antonio burst clear of the Everton defence and his shot was blocked by Pickford but the rebound fell to Jarrod Bowen, back in the side after recovering from a fractured foot, and he steered the ball into the unguarded net.
Things then got worse for the visitors when captain Michael Keane was sent off midway through the half for his second bookable offence, following his second late challenge on Antonio. There was no way back for the visitors after that.
Everton are 17th in the Premier League, three points clear of 18th-placed Watford. On Wednesday they face a vital game at Burnley, who are 19th.