The opening goal came in the 19th minute when Chesterfield goalkeeper Tommy Lee parried Bradley Wright-Phillips' flick-on back into the path of the Charlton striker, whose shot from 12 yards was diverted home by Paul Hayes.
Then from a free-kick on the by-line in the 29th minute Dale Stephens cleverly pulled the ball back to Johnnie Jackson and his drive from the edge of the penalty area squeezed past Lee for the second.
Chesterfield manager John Sheridan was sent to the stands by referee Graham Scott in the 54th minute after hotly disputing a penalty claim for handball, which was turned down.
Chesterfield were thrown a lifeline when Leon Clarke was brought down in the area by Michael Morrison.
Danny Whitaker tucked away the resulting penalty in the 72nd minute, but Charlton made it safe when Wright-Phillips headed home Scott Wagstaff's cross in the second minute of time added on.