Bobby Zamora's goal gave West Ham a priceless win - but they had keeper Robert Green and Arsenal's profligacy to thank for an unlikely victory.
Zamora's goal came in added time in the first half
Arsenal dominated the entire match but found themselves a goal down at half-time after Zamora stayed just onside to chip over Jens Lehmann.
Green somehow palmed away Gilberto's fierce volley then flicked out an arm to save Emmanuel Adebayor's header.
But the Hammers held on to become the first side to win at the Emirates.
The three points were not enough to lift Alan Curbishley's side out of the relegation zone but they are now only two points behind fourth-from-bottom Charlton.
Meanwhile, Arsenal's third defeat on the bounce leaves them looking nervously over their shoulders after Bolton closed to within two points of fourth and the final Champions League place.
It was a quite extraordinary match in which Arsenal launched attack after attack only to find West Ham's goal leading a charmed life.
The Gunners hit the woodwork twice and had a total of 30 efforts on goal without finding the net.
Cesc Fabregas squandered a glorious chance after only two minutes, shooting too close to Green from Rosicky's flick-on, and it set the tone for a wasteful afternoon from his side.
For Gunners fans, it was all too reminiscent of the frustrating home stalemates against CSKA Moscow in the Champions League and Blackburn in the FA Cup.
Adebayor had a shot saved and then blazed over, while Rosicky sliced horribly high and wide from Alex Hleb's cutback.
West Ham were little more than spectators as the Gunners attacked at will.
Green did well to parry Rosicky's fierce snapshot and he then had to backpedal to collect Fabregas' cheeky chip.
But the Gunners were guilty of over-elaboration when Adebayor overhit a pass to Ljungberg instead of taking on the shot himself - and they paid dearly.
In first-half added time, Lucas Neill lofted over a hopeful ball, which evaded Kolo Toure, and Zamora stuck out a leg to lob it over the stranded Lehmann.
It was the ultimate sucker punch.
Arsenal's claims of offside against Zamora fell on deaf ears and manager Arsene Wenger made his feelings known to referee Graham Poll at half-time.
The goal, though, did nothing to change the pattern of the match in the second half as Green stepped up to make himself the West Ham hero of the hour.
The keeper produced an astonishing save to keep out Gilberto's well-struck volley then stuck out an arm to stop Adebayor's close-range header.
And as Fabregas thundered a shot against the bar and Gilberto somehow headed wide from six yards out, it looked like luck might be on West Ham's side.
That was certainly the case when Gilberto hit Green's left-hand post and West Ham could have made their win more comfortable had substitute Luis Boa Morte not stabbed his shot wide in a one-on-one with Lehmann.
Arsenal looked understandably stunned when the final whistle confirmed their first defeat in their new stadium, while West Ham revelled in their third straight win.
Arsenal boss Arsene Wenger:
"It's difficult to say we had a bad game because we should have scored 10 and yet we lost the game. "As long as you don't score there's more pressure on the next player who has a chance. That's what happened. "I felt it (defeat at the Emirates Stadium) could happen one day but I didn't expect it to happen in a game like today."
West Ham boss Alan Curbishley:
"The way Arsenal came out in the first half, it was fantastic, but Green stood firm.
"People say they missed chances but I tend to say Green saved them. When you come to a top four team you need your keeper to put in a 10/10 performance.
"The last three results have given us a massive lift."
Arsenal: Lehmann, Eboue, Toure, Gallas, Clichy, Ljungberg (Julio Baptista 75), Fabregas, Silva (Diaby 85), Hleb (Aliadiere 65), Rosicky, Adebayor.
Subs Not Used: Almunia, Senderos.
West Ham: Green, Neill, Collins, Ferdinand, McCartney (Spector 46), Bowyer, Reo-Coker, Noble, Etherington, Tevez (Blanco 82), Zamora (Boa Morte 65).
Subs Not Used: Carroll, Mullins. Booked: Collins.
Goals: Zamora 45.
Ref: G Poll (Hertfordshire).