The visitors twice went close early on, with Jack Lester denied by Ben Herd’s goal-saving tackle. Ian Morris then forced an excellent one-handed save from Mikhael Jaimez-Ruiz after being put through by Wade Small.
The Shots had chances too as Spireites’ keeper Tommy Lee touched Simon Jackson’s cross onto the crossbar, before later denying Louie Soares from just two yards out.
However, Lester came the closest before the break, heading Perkins’ 40th minute cross against the post. Aldershot went ahead when Charles powered home Scott Donnelley’s corner from the left after 68 minutes.
Chesterfield boss John Sheridan threw Davide Somma on for Lester, and the substitute’s powerful downward header on 80 minutes looked destined to equalise until Jaimez-Ruiz dived full-length to tip to safety.
Minutes later, Somma turned provider releasing Perkins, whose shot beat Jaimez-Ruiz but cannoned back off the inside of the post.