The home team took the lead on 36 minutes at Stamford Bridge. Joe Hart denied Willian, but from the resulting corner, Cesar Azpilicueta reacted quickest to a loose ball to prod home.
With their first real chance of the second half, on 73 minutes, West Ham levelled through Chicharito.
Three minutes after coming on, the Mexican fired in first time from Marko Arnautovic’s cutback.
The match opened up in a thrilling finale, with Olivier Giroud, another substitute, seeing his header tipped on to a post by Hart.
The draw means Chelsea stay fifth, but are 10 points behind Tottenham Hotspur.
West Ham remain 14th but move six points off the relegation zone.
Chelsea: 14 Apr v Southampton (A)
West Ham: 16 Apr v Stoke (H)