Striker David Ngog scored twice within six minutes to inspire Bolton to victory over Charlton.
Addicks striker Danny Haynes had missed two promising chances before his side fell behind after 74 minutes.
Substitute Ngog produced an individual piece of play, beating two defenders and poking the ball past keeper Ben Hamer for Bolton's opener.
The forward then exchanged passes with Kevin Davies before drilling in a shot to secure a victory for the Trotters.
The win was only Bolton's second in eight games, while Charlton suffered a first away defeat since 18 September.
The home side almost took an early lead when Chung-Yong Lee played a neat one-two with Chris Eagles before sending a side-footed shot wide.
At the other end, a Tyrone Mears tackle foiled Haynes just as the Charlton striker was set to shoot when clear through on goal.
The two teams again traded chances when Eagles had an effort saved by keeper Ben Hamer, while Haynes headed wide.
Bolton boss Dougie Freedman brought on Martin Petrov and Ngog, with the two combining before the latter gave the Trotters the lead.
Davies helped set up Ngog for his second and Charlton failed to recover as their seven-match unbeaten run was ended.
Bolton manager Dougie Freedman:
"I felt that the key today was that we had the opportunity to bring the subs on at 0-0.
"David Ngog turns up every day and works very hard on the training ground and that should be the headline, not his goals.
"He's got a great leader to learn off in Kevin Davies and I myself like to think that I can help him make the most of his career."
Charlton boss Chris Powell:
"We were disappointed because we grew into the game and created the better chances.
"In the end, though, we were beaten by a substitute who has a huge pedigree in the game and he has made a huge difference.
"I'm sitting here thinking that we should have won but we'll be looking to go into the Christmas period trying to bounce back from a defeat which shouldn't have happened."
Bolton Wanderers 01 Bogdan 02 Mears 12 Knight 15 Warnock Booked 18 Ricketts 07 Eagles 08 Andrews 20 Spearing 27 Lee (Petrov - 63' ) 29 Butterfield (Ngog - 63' ) 14 K Davies Substitutes 24 Lonergan 03 Alonso 05 Ream 10 Petrov 21 Pratley 09 Ngog 17 Afobe Charlton 01 Hamer 05 Morrison 20 Solly 25 Seaborne 44 Dervite 04 Jackson 08 Stephens Booked 23 Wilson Booked 26 Frimpong (Cook - 83' ) 09 Haynes (Wright-Phillips - 82' ) 18 Kermorgant Substitutes 27 Button 28 Cort 14 Pritchard 17 Cook 10 Wright-Phillips 12 Kerkar 29 Hulse