Charlton lost their unbeaten league record as Bournemouth picked up a fourth win in their last five games.
The Cherries were ahead within three minutes as a corner was not cleared and Callum Wilson met Marc Pugh’s left-wing cross with a close-range finish.
Charlton went close when Johann Berg Gudmundsson curled in a free-kick but Artur Boruc tipped it round the post.
Keeper Stephen Henderson kept Charlton in the game after the break with a fine low save from Andrew Surman.
The Addicks were still finding their feet when a stray pass fell to Matt Ritchie, whose left-foot piledriver was parried by Henderson for a corner, from which Pugh’s trickery deceived Chris Solly, and Wilson found room in a crowded box to slot home his eighth of the season.
That was only the third time all season that Bob Peeters’s side had gone behind and Wilson nearly doubled the lead when he deflected Ritchie’s low free-kick goalwards but the ball was blocked.
While striker Karlan Ahearne-Grant, 17, posed the hosts some problems, Charlton’s best chance came when Gudmundsson’s free-kick was heading towards the top corner until Boruc somehow kept it out.
Peeters made a double substitution and a formation change at the break, but it did little to change the game as Bournemouth piled on the pressure, winning 16 corners.
Winger Pugh continued to torment full-back Solly, and while Ritchie was happy to shoot on sight, his delivery from corners remained a threat as Steve Cook twice headed wide.
The visitors lacked invention and while Addicks substitute Lawrie Wilson headed straight at Boruc when well placed in stoppage time, it was too little, too late.