Aaron Morley and Dion Charles were on target for Bolton as they strengthened their grip on a League One play-off place with a 2-1 victory at the Valley.
Morley whipped a superb 30-yard free-kick past Charlton goalkeeper Ashley Maynard-Brewer after four minutes.
Maynard-Brewer got a vital touch to deflect Charles’ shot on to the crossbar soon after.
Charlton found a response almost instantly after the second half started when a fine team goal ended with Albie Morgan playing a one-two with Jesurun Rak-Sakyi on the edge of the box and firing a low drive across Wanderers keeper James Trafford.
Trafford pushed a Morgan free-kick around his right post and then set Rak-Sakyi up with a glorious chance but the Crystal Palace loanee, from six yards out, could only steer the ball wide.
Charles restored Bolton’s lead in the 68th minute – moments after referee Carl Brook had waved away penalty appeals when Kieran Lee went down under Scott Fraser’s challenge.
Charlton defender Ryan Inniss misplaced a header and it was nodded into Charles’ path by Kyle Dempsey for the striker to claim his 11th league goal of the season.