Arsenal recovered from a 1-0 half-time deficit to move seven points clear of Newcastle at the top of the Premier League – and eight clear of Manchester City.
Said Benrahma’s penalty gave the Hammers a shock lead midway through the first half after William Saliba had tripped Jarrod Bowen, but the second half was one-way traffic.
A mishit shot from Martin Odegaard put Bukayo Saka through to calmly equalise before Gabriel Martinelli beat former Gunner Lukasz Fabianski at his near post to put Arsenal ahead.
The best goal of the night gave Arsenal a two-goal cushion as a fine passive move ended with Eddie Nketiah rolling his defender and firing across Fabianski into the bottom corner as he made a strong case to get a chance as Arsenal’s starting striker in Gabriel Jesus’ absence.
While Arsenal march onwards at the summit, defeat leaves West Ham 16th and only a point above the relegation zone.