Kevin Davies put Bolton ahead with a powerful header after nine minutes and was magnificent all afternoon, with West Ham unable to cope with his physical presence up front.
Bolton finished with 10 men after Tamir Cohen was sent off for two yellow cards and West Ham mounted a late assault, with Alessandro Diamanti curling in an 88th-minute consolation strike for the Hammers.
"I felt it was a cup final for us," said Trotters boss Owen Coyle.
"We recognised coming here we'd have to be at our maximum because West Ham have been in good form.
"We wanted to start on the front foot and we did very well. It was a terrific performance all round. But there's no doubt we deserved all three points."
Bolton have now beaten West Ham in their last six meetings - and three times this season following 3-1 victories at the Reebok Stadium in the league and the Carling Cup.
The Trotters had not won away from home since last September and they arrived at Upton Park without a goal on their travels in over seven hours - a statistic Davies took just nine minutes to rectify.
"I'm led to believe this is my first away win in the Premier League but I wasn't conscious of that. I knew it was just around the corner," said Coyle.
"They had us under pressure by the end. But the spirit was there for all to see. It helps us to move upwards.
"I felt Tamir was a little bit unlucky. Sometimes it's too easy to send someone off when they're on a yellow card.
"There's no doubt it was a massive three points today. If the players keep giving me that effort we will get enough points to keep us safe.