The Addicks were staring at a fourth straight Valley defeat, and 10th of the season, after Wanderers raced into a two-goal lead through Marvin Sordell and Medo Kamara.
But skipper Johnnie Jackson pulled one back before half-time and Bolton fell to pieces in the second half when Sam Ricketts was sent off.
Dorian Dervite immediately dragged Charlton level and Yann Kermorgant struck the winner from the penalty spot to complete an unlikely comeback, while Bolton finished with nine men after a late red card for Craig Davies.
Charlton were missing two of their senior defenders, Leon Cort and Matt Taylor, through injury and illness and their patched-up back four were under the cosh from kick-off.
Chung-Yong Lee had already shot over and David Ngog forced a save from Ben Hamer before Bolton took a fourth-minute lead. Sordell collected Ngog’s pass and turned makeshift centre-half Dervite inside out before tucking the ball past Hamer.
Bolton doubled their advantage in the 20th minute when Ngog found Medo 25 yards out and the Sierra Leone midfielder beat Hamer with a swerving drive which went in off the post. However, five minutes later Charlton grabbed a lifeline when Bolton cleared a corner only as far as Jackson on the edge of the area.
The midfielder took the ball past two defenders before rifling it low into the net.
At the start of the second half the game swung Charlton’s way when Ricketts was shown a second yellow card for a foul on Fuller.
Bolton were hit with a double punishment as, from the free-kick, Kermorgant’s curler came back off the post and Dorvite reacted first to lash in his first goal for the club.
And three minutes later they were ahead. Fuller burst into the area and was brought down by Darren Pratley, with Kermorgant stepping up to take the penalty. Kermorgant wisely opted for power and blasted his shot wide of Lonergan.
Charlton had to endure seven minutes of stoppage time but Bolton substitute Davies used up most of it by earning himself two yellow cards to complete Bolton’s second-half meltdown.