Charlton enjoyed a bright start, but had to wait until the 31st minute to make the breakthrough. Bradley Wright-Phillips played in Therry Racon and the Addicks midfielder drilled a low shot beyond the reach of Rochdale goalkeeper Owain Fon Williams from 20 yards.
Charlton were unfortunate not to double the lead just before the break when Wright-Phillips again turned provider, finding Nathan Eccleston just inside the area. The on-loan Liverpool player did well to create space for himself before firing in a shot that Fon Williams pushed wide.
Rochdale drew level in the 51st minute after Marcus Holness headed home at the second attempt from Brian Barry-Murphy's corner having seen his initial effort saved by Addicks goalkeeper John Sullivan.
But Charlton were back in front within 60 seconds as Dean Parrett fired a shot into the bottom left corner from 25 yards.
The outcome was put beyond doubt when Paul Benson's 76th-minute cross was headed home by Eccleston to wrap up only Charlton's second win in 17 league games.