The Gunners surrendered their lead twice to allow the Hammers to fight back and earn a point.
Arsenal's Premier League title push received another setback after a 2-2 draw at London Stadium on Sunday.
Gabriel Jesus and Martin Odegaard had powered Arsenal in front early in the first half, but the home side roared back with goals from Said Benrahma and Jarrod Bowen.
Meanwhile, the Gunners started the match in blistering mode and broke the deadlock in the seventh minute through Jesus.
Bukayo Saka, Odegaard, and Ben White worked it to the by-line before White trashed a ball across for Jesus to slot home from two yards out.
The away side scored the second in the 10th minute through Odegaard. Gabriel Martinelli found space to cut inside, and he managed to clip it over for Odegaard, who was in the box, to control the ball past Fabianski.
11:00 - 16.04.2023
PREMIER LEAGUE ‘Arsenal aren't going to drop many points’ – Guardiola
The Citizens were lucky to pick up more points on Saturday that took them close to Arsenal.
West Ham should blame themselves for the horrible defense that gifted Arsenal the second goal.
West Ham kept on fighting, and in the 31st minute, they pulled a goal back after winning a penalty after Lucas Paqueta was fouled.
Benrahma found the bottom corner with a cool conversion as London Stadium roared back to life.
Michail Antonio conceded – with an outstretched hand - a penalty in the 52nd minute when he attempted to reverse a finish by Martinelli.
11:45 - 29.03.2023
FOOTBALL Arteta reveals ‘something rare to see’ in Arsenal's starboy Saka
The forward continues to earn praise with impressive England and Arsenal performances.
However, Saka failed to score from the spot as he missed the target by a mile.
Just after Arsenal failed to stretch their lead, West Ham equalized two minutes later. With an assist from Thilo Kerher, Bowen fired past Aaron Ramsdale to pin the Gunners back.
West Ham came close to scoring the third in the 82nd minute when Antonio hit the bar. Benrahma clipped the ball to the back post, where Antonio was, but the latter’s header hit the post and flew out.