Nigel Reo-Coker, Bobby Zamora and Matthew Etherington punished some dreadful defending to give the Hammers their first win at Highbury since 1995.
England centre-back Sol Campbell was substituted at half-time, and reportedly walked out of the ground after his exit.
This was the wicked end of a horrible week for Arsenal. They were knocked out in the last minute of the Carling Cup semi-final by Wigan, then had their hold on the FA Cup prised loose by Bolton.
They face Real Madrid in the Champions League later this month but face the real prospect of failing to finish outside the top two in the Premiership for the first time since 1996-97.
Confusion still surrounds the future of their record scorer Thierry Henry too. Three weeks ago, he said he wanted to stay with Arsenal. But no deal has yet been agreed, despite Arsene Wenger urging his protege to commit himself again to the club. Henry's goal tonight made him Arsenal's all-time leading league scorer. But otherwise he was a peripheral figure.
West Ham extended their winning run in the Premiership and FA Cup to five matches. They showed resilience when it was needed - and their finishing was clinical. But Wenger's Arsenal are a bunch of dilettantes. How they lack the tough English core of the manager's early years.
West Ham survived some early scares. Henry's fifth-minute shot deflected off Freddie Ljungberg and Robin van Persie hit the outside of a post but Arsenal still can't take dead-ball kicks - witness some of Robert Pires' over-hit corners.
Shaka Hislop held van Persie's curling free-kick and van Persie ran onto Ljungberg's throughball but could not control the pass.
Yossi Benayoun forced Jens Lehmann to make his first save in the 25th minute. Seconds later, Reo-Coker burst onto a long throughball after a mistake by Campbell and calmly slotted beyond Lehmann. Ethrrington's pass had bisected Arsenal's vulnerable centre-backs.
In the 31st minute, Zamora collected Paul Konchesky's pass, brushed off Campbell's weak challenge, checked inside and shot past Lehmann.
Arsenal revived as half-time approached. Van Persie, pouncing on Konchesky's mistake, crashed a shot across goal. Pires fired the ball back and Henry deflected the shot beyond Hislop.
The Gunners missed a great opportunity at the start of the second half as a Pires corner flashed across the box. They do not attack crosses. Pires then dragged a shot wide after another corner was cleared.
Henry curled over a centre which no-one could reach and Hislop saved from van Persie but Arsenal could not create chances inside the box.
When Reo-Coker robbed Seb Larsson and found Shaun Newton, Etherington shot past Lehmann, off Mathieu Flamini, to make it 3-1.
Henry hit a spectacular overhead kick widen and Hislop saved a 20-yarder from Pires. Pires finally smacked in an 89th-minute rebound after Hislop beat out Dennis Bergkamp's shot but it was too little, too late.