Their substitute, Mixu Paatelainen, cancelled out Georgi Kinkladze's opener and Scott Sellars sealed the points that gave Bolton the title with a dazzling strike.
Colin Todd, Bolton's manager, said: "It just gets better and better. Tonight was magnificent. That's two targets achieved, promotion and the title, and now we have another two to go for, 100 goals and 100 points."
Kinkladze curled the ball into the bottom right-hand corner from a 24th- minute free-kick to put City ahead after Chris Fairclough had wrestled Uwe Rosler to the ground. Paatelainen brought Bolton level in the 38th minute after Jamie Pollock's chip had been cleared off the line by Alan Kernaghan. The ball sat up for Paatelainen, who followed up to score.
Sellars scored the winner 20 minutes later, racing on to Paatelainen's flick, turning Kernaghan and beating Wright from 15 yards.
Defeat finally ended City's fading play-off hopes, and a setback at West Bromwich Albion did not do much for Crystal Palace's, either. A single goal by the West Brom substitute, Paul Peschisolido, from Andy Hunt's 79th-minute cross, put paid to Palace, who are now eighth but have a game in hand with which to climb back into the play-off positions. Palace could feel hard done by as they dominated the game.
An extraordinary injury-time header from Shaun Newton, returning a clearance over the keeper from 25 yards, gave Charlton a 2-1 victory over Huddersfield, who had Wayne Burnett sent off after 36 minutes.Reuse content