Early goals from Matt Taylor and Kevin Davies helped Bolton end West Ham's seven-game unbeaten away run in the Premier League. Taylor opened the scoring in the ninth minute with a splendid free-kick from 20 yards and two minutes later Davies extended their lead with his tenth goal of the season with a clinical finish.
West Ham responded superbly but had only Scott Parker's goal in the 66th minute to show for all their possession and will feel hard done by in not gaining a point.
Bolton began with purpose and Sebastien Puygrenier forced goalkeeper Robert Green into a comfortable save from a corner in the third minute. The home side made the breakthrough in the ninth minute following a splendid free-kick from Matt Taylor. He curled his effort into the corner from 20 yards after Jack Collinson had been penalised for a challenge on Mark Davies.
The Hammers were rocked again two minutes later when Bolton extended their lead. Elmander showed neat footwork to carve out an opening for Kevin Davies and the club captain took advantage to sweep the ball home for his 10th goal of the season.
West Ham were anxious to get back in the game before half time and David Di Michele found space at the back post in the 29th minute but dragged his effort wide. Di Michele was off target again as was Carlton Cole as West Ham strove to get back into the game
West Ham almost pulled a goal back two minutes into the second half when Taylor cleared Cole's effort off the line after Tomkins had headed the ball on. Bolton hit back and Taylor tested Green after Samuel had launched the ball forward.
They carved out another half chance in the 57th minute when Kevin Davies picked out Elmander. However the Swede snatched at his effort and saw it go over the bar. West Ham manager Gianfranco Zola decided to make a change five minutes later and brought on Savio Nsereko for Collinson in a bid to turn things around.
Zola got his reward for his attacking philosophy as his side scored in the 66th minute. Jonathon Spector delivered the cross and Scott Parker timed his run to perfection to knock the ball past Jaaskelainen. It was no more than the Hammers deserved given the way they had responded after conceding two goals in the opening 11 minutes.
They had played their way back into the match with patience and a collective belief in their own ability. It was now Bolton's turn to look vulnerable.
West Ham maintained the momentum and Cahill cleared off the line from Di Michele's effort. There was another scare for Bolton in the 82nd minute when Jaaskelainen spilled a header, only to recover just in time.
West Ham were running the show but ran out of time and failed to get the point their hard work perhaps deserved.