Arsenal failed to protect a two goal half time lead at Upton Park and paid the price by conceding two late goals for a 2-2 draw. Robin Van Persie tapped Arsenal ahead after an error by Rob Green then turned provider for William Gallas just before the break.
But the Hammers fought back in the second period and eventually claimed a deserved draw.
Carlton Cole gave the home side hope with 16 minutes remaining.
Then the Gunners self destructed on 86 minutes as Alex Song felled Cole and Diamanti scored from the penalty.
Scott Parker was sent off for the hosts late on for two bookings but this could not take the gloss off a fine second half showing.
The result sees Arsenal move above Tottenham into third on goal difference but boss Arsene Wenger will rue his side's failure to see out the match.
West Ham remain second from bottom but should take confidence from an outstanding fightback.