Bolton leap-frogged Charlton into third place in the Premiership after a workmanlike win at The Valley.
Kevin Nolan scored the only goal on an afternoon low on entertainment.
The midfielder slotted home in the second half after Addicks goalkeeper Stephan Andersen could only parry a deflected shot from Abdoulaye Faye.
Jussi Jaaskelainen secured the points for the visitors in the closing stages, pulling off a fine reflex save to stop a header from Bryan Hughes.
Nolan had the first chance of a dire first half, latching on to a Kevin Davies header after two minutes but nodding just wide.
Charlton's first opportunity came on 15 minutes, when Jay Bothroyd missed the ball completely when attempting to convert Darren Ambrose's cross.
Ambrose found the net on 21 minutes but was ruled to have handled the ball then volleyed into the side netting from close range 10 minutes later.
There was scarcely more endeavour after the break, some trickery from Hidetoshi Nakata with no end product the highlight of the first 15 minutes.
Jaaskelainen had to wait until the 71st minute to make his first save, getting in the way of a Jonatan Johansson volley from Bothroyd's flick.
But a minute later, a speculative shot from Faye deflected off Jonathan Spector and Andersen could only parry the ball.
Japan international Nakata pounced and cut the ball back for Nolan to slot into the open net.
Jaaskelainen pulled off an acrobatic save from Hughes' header with five minutes remaining before Jared Borgetti fluffed a one-on-one with Andersen at the death.
Charlton manager Alan Curbishley:
"It was a really flat performance but with 20 minutes to go, I thought we'd still get a point out of it.
"Bolton hadn't created much then suddenly they get a deflection and that's it.
"Bolton imposed themselves in the second half but they didn't really create much and we had three good chances."
Bolton manager Sam Allardyce:
"What made the difference was a slight bit of fortune in our favour which we fully capitalised on.
"But it was coming. We dominated the second half after not having anything to talk about in the first.
"We let people say what they like about us and we do the playing and get the results."
Charlton: Andersen, Young, Perry, Hreidarsson, Spector, Rommedahl (Johansson 62), Murphy, Kishishev (Holland 77), Smertin (Hughes 60), Ambrose, Bothroyd.
Subs Not Used: Kiely, El Karkouri.
Bolton: Jaaskelainen, O'Brien, Jaidi, N'Gotty, Gardner, Speed, Diouf (Okocha 83), Nolan, Faye, Nakata (Ben Haim 86), Davies (Borgetti 68).
Subs Not Used: Walker, Djetou.
Goals: Nolan 72.
Referee: M Clattenburg (Co Durham).