Jarrod Bowen returned with a bang as West Ham inflicted more away-day pain on Everton with a 2-1 victory.
The striker, back after a month out with a foot injury, hit his 13th goal of the season to floor Frank Lampard.
West Ham led through Aaron Cresswell’s spectacular free-kick but were pegged back by Mason Holgate’s deflected effort.
Toffees boss Lampard had questioned his players’ bottle – or words to that effect – after they capitulated at Crystal Palace in the FA Cup last time out, but they folded again just five minutes after equalising when Bowen struck.
To compound Lampard’s misery they finished the match with 10 men after captain Michael Keane was sent off.
The travel-sick Toffees still boast the worst away record in the country and are only one place above the drop zone in what has been a torrid season.
West Ham are still just about challenging for a place in the top four and look at the very least capable of back-to-back top-six finishes, something manager David Moyes used to deliver regularly when he was in charge at Goodison Park.
They sniffed blood from the off with Michail Antonio seeing a shot blocked by Keane, before Jordan Pickford held a curler from Bowen.
Then a slick move involving Antonio, Bowen and Said Benrahma sent Pablo Fornals through on goal, but Pickford was out quickly to make the block.
Everton could have taken the lead on the half-hour mark when Alex Iwobi slipped Richarlison in behind. The Brazilian nudged the ball round Hammers keeper Lukasz Fabianksi, but full-back Ryan Fredericks got back to clear the danger.
Moments later West Ham did go ahead, in sensational fashion. After Bowen was fouled by Holgate, Cresswell curled a stunning free-kick beyond the wall and Pickford into the top corner.
Richarlison should have equalised before half-time after giving Fredericks the slip, but his attempted lob floated tamely over the crossbar.
After the break a mistake by Benrahma and Declan Rice allowed Iwobi to slip the ball through to Dominic Calvert-Lewin, whose angled drive clipped the bar.
The equaliser came in the 53rd minute when an unconvincing punch from Fabianski at a corner fell to Holgate – who was only on the pitch after an injury to Donny Van De Beek in the warm-up.
The midfielder fired through a crowd of players and into the net with the help of a big deflection off the foot of Fornals.
But just five minutes later West Ham retook the lead when Bowen clipped home the rebound after Pickford saved Antonio’s shot.
Keane, booked in the first half for cynically pulling back Antonio as he was about to race clear, fouled the striker again with 25 minutes left to earn a second yellow card and cap another miserable road trip for Lampard.