Romelu Lukaku’s 93rd minute winner – his sixth in six games against West Ham – seal Everton three points at Upton Park.
Roberto Martinez made one change from last week’s 2-0 defeat to Sunderland, giving Brendan Galloway his Everton debut in place of the injured Leighton Baines at left-back.
The 19-year-old, Zimbabwean-born England youth international, Galloway was joined in front of goalkeeper Tim Howard by Seamus Coleman, John Stones and skipper Phil Jagielka.
Gareth Barry and James McCarthy anchored the midfield, with Leon Osman, Ross Barkley, Aaron Lennon and Romelu Lukaku forming the front four.
In a subdued first-half neither side were able to create many chances, Lukaku fired Everton’s best chance of the half over the top from 15 yards, having cut back onto this favoured left foot while Downing came closest for the hosts.
Stewart Downing opened the scoring on 62 minutes. Cheikhou Kouyate fed the winger in the inside right channel of the penalty area and after getting the ball out of his feet with his first touch, Downing curled a low shot beyond Howard into the far corner with his second.
Leon Osman scored an acrobatic volley to draw Everton level six minutes later. Lukaku crossed from the right and Osman controlled the ball exceptionally well before hooking the ball into the back of the net.
The Hammers keeper made a spectacular save to deny Lukaku but he was helpless when a cross from the Everton substitute Aiden McGeady reached the Belgian at the far post in the dying moments.