Robert Snodgrass' first goal for West Ham in the Premier League sparked a second-half comeback which saw them beat Crystal Palace 3-2 at the London Stadium.
Palace held a half-time lead thanks to James McArthur's six-yard finish after West Ham's defence switched off from a sixth-minute free-kick.
But three minutes after half-time, Snodgrass scored his first league goal for the Hammers since joining in January 2017 when he curled Mamadou Sakho's headed clearance inside the near post from the edge of the box.
Two goals in three minutes then looked to have sealed three points, with Javier Hernandez turning in the rebound from Felipe Anderson's free-kick (62), before the Brazilian secured a goal for himself with a stunning curled effort from the edge of the box (65).
Substitute Jeffrey Schlupp nodded in from a corner to set up a grandstand finish (76), but it never emerged as the hosts saw out a third straight league win for the first time since December 2016.
Palace went in front with their first genuine attack of the game, when Patrick van Aanholt's free-kick from deep on the left was headed back across goal by James Tomkins, and with West Ham trying to play offside, McArthur snuck in to finish beyond Lukasz Fabianski.
West Ham: Fabianski (7), Zabaleta (7), Diop (8), Balbuena (7), Masuaku (6), Rice (8), Snodgrass (8), Noble (7), Anderson (8), Perez (5), Hernandez (6).
Subs: Carroll (7), Diangana (6), Obiang (n/a).
Crystal Palace: Hennessey (5), Wan-Bissaka (7), Tomkins (6), Sakho (6), Van Aanholt (5), McArthur (6), Kouyate (5), Meyer (5), Milivojevic (6), Zaha (4), Townsend (5).
Subs: Schlupp (6), Ayew (5), Puncheon (n/a).
Man of the match: Robert Snodgrass
West Ham dominated much of the opening period but played into Palace's hands by delivering cross after cross which Tomkins and Mamadou Sakho dealt with without issue.
Instead, the visitors were inches away from doubling their half-time lead when Luka Milivojevic's free-kick cannoned off the bar in injury time with Fabianski beaten.
West Ham hauled off Lukas Perez at the break for Andy Carroll, and as a new focal point, he made an immediate impact - although it was Snodgrass who arguably proved the greatest catalyst when he curled in a fine finish from 18 yards three minutes after the restart.
The Hammers' goalscoring streak was not quite as rapid as it had been against Cardiff on Tuesday, but within 14 minutes of their first they had a second. Hernandez timed his run perfectly to stay onside when Anderson's free-kick was palmed straight back into danger by Wayne Hennessey, and he fired into the roof of the net.
West Ham made three changes from midweek, bringing in Lucas Perez, Fabian Balbuena and Pablo Zabaleta.
Despite losing 3-1 at 10-man Brighton on Tuesday, Crystal Palace were unchanged.
Anderson added a quick-fire third when West Ham moved the ball right to left in two swift passes, and with Aaron Wan-Bissaka too far away to close him down, he curled a stunning effort over Hennessey and inside the far post from almost the left corner of the area.
Palace threatened a comeback out of nowhere when Schlupp nodded in Max Meyer's delivery from a short corner, but even the visitors themselves never looked like they had the belief they would grab an unlikely point - and they never came close to doing so.
- West Ham have come from behind to win a Premier League game for the first time since their first match of 2018 against West Brom, ending a run of 18 league games without a win when falling behind at any stage.
- This was Crystal Palace's 50th defeat in a Premier League London derby in their 91st such match, the fastest London club to reach that total in the competition, overtaking Fulham's 99 games.
- This was West Ham's first win in a London derby in the Premier League since they beat Chelsea 1-0 on December 9th 2017, 364 days ago.
- Crystal Palace have picked up just 12 points after 16 Premier League games this season; only in 2017-18 (11) have they had fewer after 16 games of a top-flight season (assuming 3 pts/win).
- West Ham have won three consecutive top-flight matches whilst scoring 3+ goals in each game for the first time since October 1982.
- Robert Snodgrass scored his first Premier League goal for West Ham, and his first for any club since January 2017 for Hull against West Brom, 705 days ago.
- All 49 of West Ham striker Javier Hernandez's goals in the Premier League have come from inside the box; only Tim Cahill (56) has scored more with 100% coming from inside the penalty area.
- West Ham's Felipe Anderson has scored five goals in his last six league games, as many as his previous 34 combined for both the Hammers and Lazio.
- James McArthur's opener (5:41) was Crystal Palace's earliest goal scored in a Premier League game this season, with Wilfried Zaha the last to score a faster goal for the Eagles in the competition against Brighton in April 2018 (4:39).
Manuel Pellegrini: We need to win one game to cancel out that bad start with four defeats in a row, but we must look to be in the top half going forward, and we are now in 10th, right in the middle. We have three more games to complete the first round and I hope we can continue adding points.
Roy Hodgson: They scored three goals, but I didn't think they push us back, maybe in the first half more than in the second but they were leading at half-time.
I don't think you ever feel confident in the Premier League unless you're two or three ahead. There might be some teams who disagree, but we never think that because we're leading that will definitely end up in three points.
Man of the match - Robert Snodgrass
As well as scoring his first West Ham league goal, Snodgrass put in more quality crosses (4) than anyone else on the pitch and had an excellent game.
His goal came from his only shot of the match, but he also contributed three key passes and ran further than anyone else on the pitch - an impressive statistic for a player urged to lose weight by Manuel Pellegrini in pre-season.
West Ham travel to Fulham on December 15 at 5.30pm, while Crystal Palace host Leicester earlier that day at 3pm.