Bolton went two-up early on as West Ham were caught cold, but as the Hammers got back into the game the Trotters finished up relieved to have taken all three points...
Bolton Wanderers 2-1 West Ham United
Johan Elmander and Gavin McCann were back for Bolton after injury, and Ricardo Gardner also returned, with Andrew O'Brien, Fabrice Muamba and Ariza Makukula all dropping down to the substitutes' bench.
Gianfranco Zola had Jonathan Spector in the West Ham defence for the suspended Lucas Neill, and replaced injured Luis Boa Morte by David Di Michele. Carlton Cole played despite having injured his ankle last week, and Valon Behrami returned to the side.
West Ham were looking to equal their all-time top-flight record of eight away matches without defeat - a record set 22 years ago, but the afternoon started badly for them. On 10 minutes, Jack Collison conceded a free-kick 22 yards out, and Matty Taylor sent in a superb kick that curled up and over the wall and into the top corner of Rob Green's net.
A minute later, the Hammers were two down as Johan Elmander crossed from the right and Kevin Davies netted into the far corner as the defence hesitated.
Things quickly went from bad to worse for Zola's side as James Collins had to limp off with a pulled hamstring. James Tomkins came on to replace him.
West Ham's best effort came when the ball found its way to Di Michele on the right, but his good footwork was followed by a disappointing shot that missed the target comfortably.
Shortly before the break, a good West Ham counter-attack saw Carlton Cole play the ball to Mark Noble on the right, but Noble tried to put it back into the middle for Collison when he was better placed to have a crack at goal himself. Although his attempted pass was deflected back to him, Noble's lob was dealt with the bacck-pedalling Jussi Jaaskelainen.
In the second half, Taylor cleared Cole's goalbound header off the line, before West Ham's record signing Savio replaced Collison. The visitors were graduaqlly exerting more control, and eventually they got their reward when a Jonathan Spector cross from the right was swept home from eight yards by Scott Parker.
It was now all West Ham, and when Savio crossed for Cole, the striker's effort bounced and looked to be going over Jaaskelainen, but the Finnish keeper managed to save above his head.
Bolton: Jaaskelainen, Steinsson, Cahill, Puygrenier, Samuel, Kevin Davies, Mark Davies, McCann, Gardner, Taylor, Elmander.
Subs: Al Habsi, Muamba, Smolarek, Makukula, Shittu, Basham, Andrew O'Brien.
West Ham: Green, Spector, Collins, Upson, Ilunga, Behrami, Parker, Noble, Collison, Cole, Di Michele.
Subs: Lastuvka, Lopez, Nsereko, Kovac, Tristan, Tomkins, Sears.