Nicky Bailey and Izale McLeod were on target for the Addicks before Bertrand Cozic netted a late consolation for the Grecians.
Exeter goalkeeper Oscar Jansson, on loan from Tottenham, made early saves from Lloyd Sam and Jonjo Shelvey before having to leap to keep out Bailey's header.
Bailey was needed on the half-hour mark to block Matt Taylor's goal-bound header from a corner on the line. Charlton captain Bailey then gave his side the lead at the other end two minutes before the break. Shelvey played a short corner to Sam, who set up the captain for a simple finish inside the six-yard box.
Exeter were more adventurous after the break and Troy Archibald-Henville, also on loan from Spurs, headed just over before Craig Noone saw an effort ruled out for offside.
Jansson fumbled a cross to allow substitute McLeod to make it 2-0 and although substitute Cozic pulled one back with a close-range header in stoppage time Charlton held on.