City: Given, Richards, Dunne (c), Onuoha, Bridge (Berti 83), De Jong, Kompany (Zabaleta 82), Ireland (Weiss 70), Wright-Phillips, Robinho, Caicedo.
Unused subs: Hart, Petrov, Bojinov, Benjani.
Bolton: Jaaskelainen, Samuel, Muamba, Cahill, Davies, Shittu (O'Brien 82), Steinsson, McCann, Taylor (Basham 60), Davies (c), Elmander (Riga 83).
Unused subs: Al Habsi, Puygrenier, Cohen, Hunt.
Goals: 1-0 (Caicedo 8).
Referee: Mark Clattenburg.
Pre-match saw five heroes from the 1999 play-off receive a huge ovation from the crowd - for the record, Gerard Wiekens, Gareth Taylor, Tony Vaughan, Andy Morrison and Paul Dickov made it along for the day to revive memories of that famous comeback.
Stephen Ireland also had the stadium on its feet before a ball had been kicked, picking up the OSC Player of the Season trophy after being forced to miss out at the ceremony last Wednesday due to gastric flu.
SWP was looking lively after his long absence, and he had the first good chance of the day after six minutes, wriggling into space inside the box before seeing his shot go straight at Jaaskelainen.
But we did not have to long to wait for the first goal, with a training ground move seeing City go a goal up after just nine minutes. At a free kick 25 yards out, Robinho gave the ball to Ireland rather than shooting as expected; Ireland then chipped it over to Richards, whose overhead kick from the right landed perfectly for Felipe Caicedo to tap it home from close range for his fifth goal of the league campaign - his eighth overall.
City went on the hunt for another straight away, with Jaaskelainen making a brilliant save from a swerving SWP effort. Bolton, to their credit, went on the attack, and a cross from Steinsson was just inches in front of Elmander.
25 minutes were showing when we went close to adding to the score twice in quick succession, Caicedo's long run to the byline ending with a pass across the face of goal that eluded everybody, but Ireland picked it up to feed Robinho, who slammed a shot against the near post. Robinho took advantage of a slip by Shittu two minutes later, but well-timed intervention from Samuel prevented him threatening Jaaskelainen.
Sublime skill from Robinho - a backheel over his head while still grounded - on 33 minutes allowed Richards to try his luck again, Jaaskelainen getting down low to his left ensure it stayed at 1-0 to City. Richards was in the thick of it at the other end a minute later, clearing Cahill's shot away from just in front of the goal line with Given in front of him.
On 42 minutes Vincent Kompany threaded it neatly to SWP, who went on a trademark mazy run that ended with a shot going straight at Jaaskelainen.
There was a lengthy delay at the start of the second half, Caicedo needing treatment after colliding heavily at a header with the man-mountain that is Danny Shittu. Thankfully the Ecuadorian is made of sterner stuff and he was back in the fray soon.
Fabrice Muamba popped up unmarked just afterwards, but he chose to head across rather than at goal and we conceded a corner. The ball fell invitingly for Matt Taylor, but he put his shot nearer to row Z than Shay Given. Muamba had a decent chance on 53 minutes, but his left-footed effort also went harmlessly over the bar. Caicedo's bump had not affected him too much, and within seconds he was drilling the ball just wide of Jaaskelainen's left-hand post.
We went close to making it two just before the hour, Robinho's long run ending with the Brazilian finding SWP on the right, with his shot sliding across the face of goal and going wide. Nedum Onuoha brought the ball out of defence and all the way to Bolton's area just afterwards, and for a split-second it looked like he had a chance - but there was no way past or through Shittu, although Nedum's efforts brought him a huge ovation.
SWP's shot at the end of another jinking run on 66 faded just wide of the post, and within seconds we had a pitch invader, who made it a third of the way down the pitch before disappearing all the way back into the South Stand.
There was a nice moment with 20 minutes to go when Stephen Ireland was brought off to a rapturous reception, and his replacement was Vladimir Weiss. The highly-rated Slovakian became the 27th City player to emerge from the Academy, and within seconds some typically adventurous touches to win a corner brought a standing ovation from his new fans.
Jaaskelainen had a nervy moment with 12 minutes to go, SWP's deflected shot dipping dangerously close to the bar, the Finnish keeper tipping it over to make sure. Weiss showed his skills off a couple of times, ending one run with a shot that slammed into Samuel.
Bolton went close with seven minutes to go, McCann seeing his shot deflected away. City broke to the other end immediately, Caicedo backheeling to Robinho, whose shot brought a flying save out of Jaaskelainen. But the biggest cheer of the day came seconds later when Wayne Bridge was replaced by none other than Glauber Berti! The Brazilian had had a long time to wait for his debut since arriving last August, but once on his cult status with the fans was assured, with every touch cheered to the rafters.
And after three minutes of stoppage time that was it for the season. A solid home win that should have been by a greater margin brought the curtain down on 2008/09, with the majority of the crowd staying behind to show their appreciation.
For a chance to win match tickets and receive stephen's newsletter, please enter your details below