Tomas Soucek scored a brace as West Ham came from behind to beat Crystal Palace 3-2 and make it six wins in a row in all competitions.
In a thrilling first half, Wilfried Zaha scored with the Eagles' first effort on goal with a fine low finish from outside the box.
The Hammers equalised just six minutes later when Soucek headed in Michail Antonio's cross.
Wildly celebrating home draws with Palace: The new Arsenal way? – The Warm-Up
And the Czech midfielder, known for his love of potato salad, gobbled up his seventh goal of the season before half-time as he poked the ball in from Aaron Cresswell's free-kick.
David Moyes' side could have been further in front with Antonio hitting the post on two occasions.
The visitors did not rest on their laurels and continued to attack in the second half and it paid off with Craig Dawson heading in a corner to make it 3-1.
Substitute Michy Batshuayi scored with the last kick of the game for Palace but the result sees the Hammers climb into the top four while Roy Hodgson's side are 13th and have one victory from their last 10 games.
TALKING POINT - Why did Hodgson take so long to change things around?
Apart from Zaha, the Eagles' attacking players had an off night with Andros Townsend particularly anonymous and Eberechi Eze failing to make an impact. But Hodgson stuck with his 4-4-2, relied on Zaha for some magic and only brought on substitutions when his side went 3-1 down.
Wilfried Zaha celebrates scoring against West Ham
Image credit: Getty Images
MAN OF THE MATCH - Tomas Soucek (West Ham)
The £19million the Hammers paid in July looks to be a bargain. He ghosted into the box to equalise with a header from close range and showed his finishing abilities from close range for the second goal. Since his debut last February, no player has scored more headed goals in the Premier League than Soucek (5).
Crystal Palace: Guaita 5, Ward 4, Cahill 5, Kouyate 5, Mitchell 3, McArthur 4, Milivojevic 5, Townsend 3, Eze 5, Zaha 7, Benteke 5. Subs: Riedewald n/a, Ayew n/a, Batshuayi 5.
West Ham: Fabianski 6, Dawson 7, Ogbonna 5, Cresswell 7, Coufal 5, Soucek 9, Rice 6, Benrahma 7, Bowen 7, Antonio 6, Fornals 5. Subs: Fredericks n/a, Yarmolenko n/a, Noble n/a.
3' - GOAL! Palace 1-0 West Ham (Zaha). Zaha with a brilliant low shot from outside the area. Palace score with their first chance!
9' - GOAL! Palace 1-1 West Ham (Soucek). Antonio hooks the ball into the danger zone for Soucek to head it in from close range!" What a start!
25' - GOAL! Palace 1-2 West Ham (Soucek). From the free-kick, Cresswell's delivery is volleyed in by Soucek at the back post.
27'- WOODWORK! Kouyate with an error straight from the kick off, Antonio is thropugh on goal and drags his shot off the post!
40' - WOODWORK! A lovely dummy from Fornals, Creswell's low ball into the box hits Antonio and strikes the post!
65' - GOAL! Palace 1-3 West Ham (Dawson). From a corner, Bowen's delivery is headed in by Dawson from close range.
90'+6 - GOAL FOR PALACE! Lovely flick by Ayew into the path of Batshuayi who slots it under Fabianski.
- Each of the first three shots in the match were scored - the first time that each of the first three attempts in a Premier League game have all been converted since Everton vs Leicester in 2017.
'We threw it away' - Arteta disappointed with Arsenal draw against Palace
Lacazette scores last-gasp equaliser as Arsenal snatch Palace draw