Chesterfield's Dan Gardner was unfortunate to see a bending 27th-minute drive from inside the box hit the post.
It was the Addicks' turn to be denied by the woodwork seven minutes later as Nicky Ajose burst through on goal and beat Ryan Fulton, only to see his effort come off the post.
A superb one-handed save by Ryan Fulton prevented Josh Magennis heading Charlton in front shortly before the break.
Northern Ireland international Magennis again went close with his head 12 minutes into the second half, placing his attempt inches off target after being picked out by Ricky Holmes' delivery.
Ajose should have broken the deadlock with a quarter of an hour remaining but instead headed wide when it looked easier to score.
But the opener eventually arrived four minutes from time when substitute Novak headed home from a Holmes cross.
Jay O'Shea almost grabbed a stoppage-time equaliser for the Spireites with a shot that was deflected agonisingly behind for a corner as Charlton held on to seal back-to-back home victories.
Match report supplied by the Press Association.
Match ends, Charlton Athletic 1, Chesterfield 0.
Second Half ends, Charlton Athletic 1, Chesterfield 0.
Chris Solly (Charlton Athletic) wins a free kick in the defensive half.
Foul by Ricky German (Chesterfield).
Corner,  Chesterfield. Conceded by Patrick Bauer.
Attempt blocked. Jay O'Shea (Chesterfield) right footed shot from outside the box is blocked.
Attempt missed. Lee Novak (Charlton Athletic) right footed shot from the centre of the box is close, but misses to the left.
Substitution, Chesterfield. Ricky German replaces Ched Evans.
Substitution, Chesterfield. Kristian Dennis replaces Liam Graham.
Foul by Lee Novak (Charlton Athletic).
Connor Dimaio (Chesterfield) wins a free kick in the attacking half.
Goal!  Charlton Athletic 1, Chesterfield 0. Lee Novak (Charlton Athletic) header from the centre of the box to the bottom right corner. Assisted by Ricky Holmes.
Attempt saved. Gboly Ariyibi (Chesterfield) left footed shot from outside the box is saved in the bottom right corner.
Attempt saved. Patrick Bauer (Charlton Athletic) header from the centre of the box is saved in the bottom right corner.
Corner,  Charlton Athletic. Conceded by Ian Evatt.
Substitution, Charlton Athletic. Lee Novak replaces Nicky Ajose.
Corner,  Chesterfield. Conceded by Morgan Fox.
Delay in match Josh Magennis (Charlton Athletic) because of an injury.
Jason Pearce (Charlton Athletic) wins a free kick on the left wing.
Foul by Gboly Ariyibi (Chesterfield).
Attempt missed. Nicky Ajose (Charlton Athletic) header from the centre of the box is close, but misses to the left.
Foul by Josh Magennis (Charlton Athletic).
(Chesterfield) wins a free kick in the attacking half.
Nicky Ajose (Charlton Athletic) wins a free kick in the attacking half.
Foul by Ian Evatt (Chesterfield).
Substitution, Charlton Athletic. Jordan Botaka replaces Ademola Lookman.
Josh Magennis (Charlton Athletic) is shown the yellow card.
Josh Magennis (Charlton Athletic) has gone down, but that's a dive.
Attempt missed. Jay O'Shea (Chesterfield) left footed shot from outside the box is close, but misses to the left.
Substitution, Chesterfield. Jay O'Shea replaces Dan Gardner.
Corner,  Chesterfield. Conceded by Andrew Crofts.
Attempt blocked. Ademola Lookman (Charlton Athletic) right footed shot from the right side of the box is blocked.
Morgan Fox (Charlton Athletic) wins a free kick on the right wing.
Foul by Ched Evans (Chesterfield).
Attempt saved. Josh Magennis (Charlton Athletic) header from the centre of the box is saved in the top centre of the goal.
Patrick Bauer (Charlton Athletic) wins a free kick on the left wing.
Foul by Dion Donohue (Chesterfield).
Attempt missed. Josh Magennis (Charlton Athletic) header from the centre of the box is close, but misses to the left.
Chris Solly (Charlton Athletic) wins a free kick on the left wing.
Foul by Dion Donohue (Chesterfield).
A late headed winner from substitute Lee Novak secured Charlton a scrappy triumph over Chesterfield.