Manchester City ended the season on a high after Felipe Caicedo's eighth goal of the season made the difference in this mid-table encounter.
The goal was a neat training ground move as Stephen Ireland's chip was met by an overhead kick from Micah Richards and Felipe Caicedo tapped in easily.
Robinho hit the post from a tight angle after powerful running from Caicedo.
And it was only Juusi Jaaskelainen that kept the score down as he saved late on from Robinho and Shaun Wright-Phillips.
The game might not have had anything critical riding on it - although both managers knew their eventual league placing could earn or lose them £1.5m in prize money with both clubs able to rise or fall by two positions - but it started at walking pace in the Manchester sunshine.
Hughes happy to finish on high
Brazilian Robinho eventually carved out the first opening as bright, industrious work found Wright-Phillips running into the box, but his tame effort was saved comfortably by Jaaskelainen.
City were not to be denied, however, and took the lead when Robinho played a free-kick square to Ireland who lofted the ball over the Bolton back line and found Richards - the defender managing to hook the ball across goal and present Caicedo with an easy tap-in.
Wright-Phillips was a surprise inclusion after manager Mark Hughes said on Friday that the England star had been ruled out with a knee injury but he showed no signs of slowing in the heat and again found himself in space before forcing a fine save from Jaaskelainen with a 25-yard drive.
Bolton had a decent claim for a penalty when a high ball landed on the arm of Caicedo in the box but the Ecuadorian striker knew as little about it as referee Mark Clattenburg and play was allowed to continue.
City continued to create the clearer chances and Caicedo put in a lung-busting run from deep in his own half before crossing low. It rolled just beyond Wright-Phillips but Ireland retrieved and supplied Robinho with a cut-back which he hammered against the woodwork from a tight angle.
Bolton almost pulled level when a weak punch by Shay Given fell to Gary Cahill on the edge of the area and he drove in a low volley which Richards blocked on the goalline.
Megson aims to bolster Bolton
The temperature took the sting out of the game in the second half as both sides struggled to keep up any sort of tempo with little left to play for.
Bolton's uncompromising, deep defending reduced chances to a premium but further saves were needed from the excellent Jaaskelainen, who tipped Wright-Phillips' wickedly deflected shot over the bar and then acrobatically turned Robinho's curling drive around the post.
The win for City meant they become the first side to go through a whole Premier League season without drawing a game at home.
Manchester City manager Mark Hughes:
"It is always better to finish on a high note, everyone was in party mood and we really enjoyed it, it was a game everyone wanted to win.
"The home form has been our shinning light but our away form has been poor.
"We are in the top half but that's why we are not higher.
"That is the area we have to address next season."
Bolton boss Gary Megson:
"It is never nice to lose a game but I am convinced if we would have needed the three points today we would have got them.
"We have not got the quality that most have got, have not got the numbers that any have got but we have certainly got more integrity and more honesty."
"With the three loan players we are letting go, we are left with a squad that would get relegated.
"The hatchet job has been done, now we have to look at a slightly more expensive way forward."
Man City: Given, Richards, Onuoha, Dunne, Bridge (Berti 84), De Jong, Ireland (Weiss 71), Kompany (Zabaleta 82), Wright-Phillips, Caicedo, Robinho. Subs Not Used: Hart, Bojinov, Petrov, Mwaruwari.
Goals: Caicedo 8.
Bolton: Jaaskelainen, Steinsson, Cahill, Shittu (Andrew O'Brien 83), Samuel, Mark Davies, Muamba, McCann, Taylor (Basham 59), Elmander (Riga 83), Kevin Davies. Subs Not Used: Al Habsi, Hunt, Puygrenier, Cohen.
Ref: Mark Clattenburg (Tyne & Wear).
BBC Sport Player Rater man of the match: Manchester City's Glauber Berti (8.67 on 90 minutes).
Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.