Conor Gallagher scored Crystal Palace's first goals of the season as they twice came from behind to end West Ham's perfect start with a 2-2 draw at the London Stadium.
The Hammers could have been out of sight by half-time but for their own poor composure, and had only Pablo Fornals' second goal in five days to show for their dominance before the break, finishing a lovely team move after a one-two with Michail Antonio (39).
- How the teams lined up | Match stats
- Premier League fixtures | results | table
- Get Sky Sports - Latest offers
The one-way traffic continued at first in the second half but out of nowhere, Palace levelled as Gallagher profited from some hesitant Angelo Ogbonna defending to fire across Lukasz Fabianski and turn the tide (58).
Even with Palace's new-found belief, they were soon behind again as Antonio shrugged off Joachim Andersen's weak challenge to latch onto a long ball forward and leather it inside Vicente Guaita's near post (68), before celebrating his 50th Premier League goal for the club by impersonating a chicken.
Their lead lasted only a minute and 42 seconds. This time it was Craig Dawson given a lesson in defending, as Gallagher's sharp turn in the box took him out of the game and a powerful finish pulled Palace level again (70).
Marc Guehi should have stolen all three points for the Eagles in added time when he headed Gallagher's free-kick over from six yards, but the visitors' second-half comeback will give Patrick Vieira plenty of encouragement, and leave David Moyes frustrated his side let a third straight win slip from their grasp.
West Ham: Fabianski (6), Coufal (6), Dawson (5), Ogbonna (4), Cresswell (7), Rice (7), Soucek (6), Bowen (7), Benrahma (6), Fornals (7), Antonio (8).
Subs: Lanzini, Yarmolenko (n/a).
Crystal Palace: Guaita (6), Ward (8), Guehi (6), Andersen (5), Mitchell (5), Gallagher (9), Kouyate (5), McArthur (6), Ayew (5), Zaha (5), Benteke (6).
Subs: Schlupp (n/a).
Man of the match: Conor Gallagher
Gallagher makes lax Hammers pay for defensive lapses
Patrick Vieira was already feeling the pressure after fielding a full-strength line-up against a second-string Watford in Palace's midweek Carabao Cup exit backfired, and things were little better from kick-off at the London Stadium either.
The ball barely escaped the visitors' half in the opening period, and West Ham had their own lax decision making to blame for not testing Guaita's goal more. Instead, it was a goalbound header by Andersen which nearly broke the deadlock before Joel Ward bailed out his team-mate on his own goalline.
The Hammers' dominance finally paid off six minutes before the break when they scored from their only shot on target of the half to end a wonderful flowing move.
Said Benrahma slipped the ball through for Antonio, who played a pair of one-twos with Fornals to get around Andersen and work a position for the midfielder to stroke in from 12 yards.
You sensed Vieira's history in dressing rooms might play its part at the break - instead, the host's supremacy only worsened after half-time. Benrahma fired into Guaita's body when he should have doubled the lead, before Tomas Soucek provided more catching practice from a tame header.
West Ham looked as comfortable as they could possibly be, but a one-goal lead is never secure. From their first shot on target of the day, Palace made them pay as Christian Benteke's header back across goal was missed by Ogbonna but not by Gallagher, who fired low inside Fabianski's far post to equalise.
Palace's new-found belief was evident although the hosts were still confident, and retook the lead as Antonio beat Andersen to Cresswell's long ball down the channel and brilliantly beat Guaita at his near post for his 50th league goal in Hammers colours.
The celebrations had barely died down by the time they were silenced altogether. James McArthur's low ball found Gallagher, and after a fine touch on the turn took him past Dawson, he buried the ball from six yards to rescue his side for the second time that afternoon.
Palace appeared increasingly satisfied with a point as full-time approached but should have grabbed all three in the dying moments, when Gallagher's free-kick was nodded over by Guehi, who had escaped yet more lax marking from Ogbonna.
What the managers said...
West Ham boss David Moyes: "There were lots of good things, not so good at times in the second half, but we can only praise the players for what they're doing, they've been very good.
"They did better, we didn't play so well in the second half, and didn't get on the ball quite as well as we had done.
"There were periods before they equalised where we should have made it 2-0 and didn't. All in all, it was a good game, I'm not overly disappointed, but we'll move on."
Crystal Palace manager Patrick Vieira: "It was a well-deserved point. We played well in the second half. I was really pleased with the character we showed today.
"We have to build up from those performances. I'm really pleased with those goals we scored of course. I never had a doubt we would score them it's just a matter of time."
Man of the match - Conor Gallagher
Crystal Palace's Chelsea loanee single-handedly wrestled them back from the jaws of another painful defeat, and gave his team-mates the belief they needed to finally compete.
Both strikes owed plenty to his team-mates but were finished with real aplomb by the 21-year-old, with the touch of a seasoned striker.
He would have had an assist to his name too had Guehi finished off his excellent injury-time free-kick, and won 11 of his 15 duels across the 90 minutes in a sensational solo performance.
"Gallagher was fantastic," said Vieira after the game. "He worked really well and gave us a lot of energy."
- West Ham's haul of seven points and a +5 goal difference is their best return from the first three games of a league campaign since 1983-84, when they enjoyed three wins in three games in the top-flight (9 pts).
- Crystal Palace remain without a win in their last 11 Premier League London derbies (D6 L5), although they did score more than one goal in a top-flight metropolitan clash for the first time since a 2-3 home defeat to West Ham in January.
- Both sides have scored in each of the last nine Premier League clashes between these sides; this is Crystal Palace's longest run of consecutive games against a single opponent in the competition where they both scored and conceded while it's now West Ham joint-longest such run (also 9 v Chelsea).
- West Ham midfielder Pablo Fornals has been directly involved in six goals in his last four Premier League appearances (4 goals, 2 assists), as many as he managed in his previous 42.
West Ham travel to the south coast to face Southampton on Saturday, September 11; Kick-off at 3pm.
Crystal Palace face yet another London derby in their next match when they host Tottenham; Kick-off at 12.30pm.