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.
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.
West Ham remain second from bottom but should take confidence from an outstanding fightback.