After taking criticism for his more conservative selection and approach in the defeat at Manchester United, Moyes took the shackles off with Said Benrahma and the returning Jesse Lingard in from the off.
It paid off as the hosts flew out of the blocks: the front four, with Lingard at their heart, clicked wonderfully. The midfielder opened the scoring with a stunning strike, teeing the ball up as he collected from Michail Antonio before volley into the top corner from the edge of the box.
The England international was sharp just over a minute later, taking a free-kick quickly to catch Arsenal napping and send Jarrod Bowen through to finish at the near post thanks to some very poor goalkeeping from Bernd Leno.
West Ham were three to the good just after the half-hour mark, Antonio heading Vladimir Coufal cross goalward which was clipped in off Tomas Soucek. The Czech had a fortunate touch in front of the Arsenal goal, but was on the wrong end in his own box when Alexandre Lacazette’s volley deflected in off him.
Arsenal had the bit between their teeth and were controlling the game either side of the break. It was another own goal, though, which pulled them to within one of the hosts as Calum Chambers’s cross was turned in by Craig Dawson.
West Ham had two fine chances to put the game beyond Arsenal, the best coming when Antonio rattled the post with the goal at his mercy, only for the Gunners to punish the mistake.
Lacazette rescued a point for the visitors, heading in Nicolas Pepe’s inviting cross to the far post to cap a truly ridiculous game.
Here is how Jack Rosser rated the Hammers...
Lukasz Fabianski 7
Conceded three but hard to criticise Fabaianski on any of the goals and made some important stops.
Vladimir Coufal 6
A real threat going forward in the first half but let Lacazette go for Arsenal’s equaliser.
Craig Dawson 5
A couple of last-ditch blocks, but this wasn’t West Ham’s best showing at the back this season. Not much he could have done about the own goal, but a second for him in two games. Should have done better for the third.
Issa Diop 6
The better of the two at the back, becoming increasingly valuable after so long out of the side.
Aaron Cresswell 6
Let Pepe go too easily to cross for Lacazette to score the equaliser.
Tomas Soucek 7
Very unfortunate to have an own goal against his name but a touch of fortune in getting his first goal since early February.
Showed flashes of composure but not enough to prevent West Ham from crumbling in the second half.
Jarrod Bowen 7
Much improved after a slump in form this year, sharp to take advantage of the quick free-kick and score his goal.
Jesse Lingard 7
Brings so much life going forward and capped his return to the England squad with a stunning goal.
Said Benrahma 7
Linked well with Lingard and Antonio and put in a shift off the ball. Still needs to improve decision making in key moments.
Michail Antonio 6
A nightmare to defend against but finishing left a lot to be desired. Hit the post with a golden chance minutes before Arsenal scored their leveller.
Mark Noble n/a
Ryan Fredericks n/a