Despite a late onslaught from the home side, Wanderers were able to hang on for all three points.
Bolton were ahead within 95 seconds, when Darren Pratley played a neat one-two on the left before firing the ball into the area. His cross rebounded off Liam Fontaine and into the goal before the Bristol defender had a chance to react.
It could have been two a minute later when Chris Eagles found space before shooting from 30 yards out, but his shot went inches over the bar.
Bristol City got themselves back into match after that, but apart from a couple of half-chances, they couldn't beat Adam Bogdan before the break.
The game became open after that. First Adomah's header narrowly bounced wide, before Marvin Sordell's shot was saved after a good move on Bolton's right-hand side.
The striker thought he had given Bolton the lead on 75 minutes, but his goal was ruled out for offside before Sordell was booked for his protests.
Bolton did take the lead five minutes later from the penalty spot. David Ngog was brought down by Matthew Bates before substitute Craig Davies stepped up and blasted the ball straight down the middle.
Bristol pushed for an equaliser in the final minutes but were unable to find the back of the net.