Centre-back Steve Elliott volleyed the home side ahead on 14 minutes following a Stuart Campbell corner headed on by Chris Lines.
Charlton gained an injury time consolation when Therry Racon, hammered a 20-yard shot pas Mikkel Andersen.
It was a bad night for the visitors from the opening minute when Grant Basey was stretchered off with a serious leg injury following a late challenge by Dominic Blizzard which earned him a booking. The Rovers player might easily have been red-carded.
The visitors never recovered and Akpo Sodje wasted their best chance, heading wide on 34 minutes.