In their third win from three under caretaker manager Lee Bowyer, they climbed to sixth place and continued to build the momentum that will be needed if their season is to end in promotion.
Fourth-placed Rotherham similarly remain in contention despite struggling as Michal Zyro's first-half finish and two goals from Joe Aribo secured Charlton's latest three points.
The visitors almost led through their first attack in the opening minute when Will Vaulks struck the crossbar from the edge of the area after Joe Newell's cut-back was deflected into his path.
After Charlton's Tariqe Fosu then fired over from a free-kick from similar range, both teams struggled to create until Zyro was gifted the 28th-minute chance from which he scored.
Under an aimless long ball and despite little pressure, Josh Emmanuel clumsily headed possession into the forward's path where, from 20 yards, he controlled with his left foot before shooting with his right beyond goalkeeper Marek Rodak and into the bottom-left corner.
Charlton's second came in the 54th minute when Jake Forster-Caskey curled towards Aribo from a left-wing free-kick, and the unchallenged midfielder nodded inside the right post from in front of goal.
Victory was then put beyond doubt in the 65th minute when Aribo played a one-two with Nicky Ajose from just inside of Rotherham's half before racing clear and powerfully scoring the ninth goal of Bowyer's reign in off the crossbar.
Paul Warne's team responded 12 minutes later through Richard Wood's untidy, close-range finish from a rebound against his former team - but it proved only a consolation.