Cesc Fabregas scored a free-kick and a late penalty as Chelsea earned a point to frustrate West Ham's Champions League ambitions.
The Hammers took the lead when Manuel Lanzini beat Thibaut Courtois with a sumptuous curling effort from 25 yards.
Fabregas's superb set piece on the stroke of half-time pegged them back.
Substitute Andy Carroll looked to have won it for West Ham, before Fabregas snatched a point after Michail Antonio fouled Ruben Loftus-Cheek.
Victory would have moved West Ham in front of Manchester City into fourth place, but Slaven Bilic's side were unable to add Chelsea to Manchester City, Liverpool and Arsenal on their list of away scalps this season.
Chelsea, who remain unbeaten in the league under interim boss Guus Hiddink, stay 10th.