The midfielder's fifth goal of the campaign came after Jamie Cureton had been fouled by Rob Elliot and Harley kept his nerve to send the ball over the diving goalkeeper and into the net.
The first half was relatively even with few clear cut chances. Exeter were happy to try their luck from distance and John O'Flynn almost scored when he followed up Liam Sercombe's stinging shot, but the striker stumbled at the wrong moment.
Sercombe went close with a blistering shot from 25 yards that flew just wide of the upright, while Charlton's Kyel Reid's mis-hit cross had Paul Jones back-pedalling, but the Exeter goalkeeper did well to get back and palm the ball over the crossbar.
Charlton had the ball in the net on the hour-mark, only for it to be disallowed for a handball and Lee Martin shot narrowly wide after cutting in from the right flank.
Sercombe again went close for Exeter and the game seemed destined for a draw until the late penalty drama.