Charlton returned to winning ways, moving back into the play-off positions, thanks to Jake Forster-Caskey's fourth goal of the season.
The midfielder ran the show and, while the Addicks controlled much of the game and created plenty of chances, there was an element of fortune about the winner scored direct from a corner.
A makeshift Addicks' defence did well and Charlton had to play the last five minutes of the game with 10-men after the dismissal of Albie Morgan.
Lee Bowyer opted for three changes from the side fought back to draw with Rochdale in midweek with Morgan rewarded with a start after a fine second half performance. With Jason Pearce suspended, the Addicks were forced into the makeshift back four with Chris Gunter filling in at centre back and wearing the captain’s armband.
The Addicks started quickly playing some nice football and in the opening minutes a Liam Millar cross from the left hit Chuks Aneke’s hand when he was in goalscoring position.
Aneke, a regular threat, tried to hit a Jonny Williams cross on the volley off his chest but didn’t connect cleanly and his 11th minute shot trickled wide.
The Addicks were most dangerous down the left, with the pacey Millar linking well with Ian Maatsen and from that wing came Charlton’s best chance of the opening half hour. After some nice passing football Maatsen’s deadly cross was well met by Aneke but he couldn’t quite turn his effort in.
A clever Charlton set piece created a chance for the in-form Jake Forster-Caskey who drove an effort well wide from a tight angle.
Bristol Rovers first sight of goal came just before the half hour when former Addick Brandon Hanlan scuffed his shot. Hanlan’s strike partner Jonah Ayunga then drove an effort into the side netting before the Addicks regained control.
Aneke set up Forster-Caskey on the edge of the area, who curled just wide. Joe Day in the Rovers’ goal was forced into action kicking away an Aneke shot after he turned his defender well.
Charlton played some nice football in the first half and had the better of the chances but the two sides went in level at 0-0 at half-time.
The Addicks took a deserved lead in the 64th minute when Jake Forster-Caskey curled a low corner on target. The Rovers’ defence and goalkeeper maybe could have done better to keep the effort out.
Rovers’ immediately tried to get back in the game and Adam Matthews blocked bravely to deny the home side.
Bowyer went to his bench to freshen up his side with Omar Bogle, Paul Smyth and Tuesday’s supersub Ronnie Schwartz joining the action.
Charlton could have doubled the lead with 12 minutes remaining but neither Bogle or Schwartz were quite able to connect with Smyth’s low cross from the right.
Rovers' substitute Josh Barrett saw an outlandish volley clear the bar as the home side were unable to break through a Charlton defence well marshalled by Gunter and Oshilaja.
The Addicks had to play the last five minutes with 10 men when Albie Morgan was sent-off for a second bookable offence but Bowyer's side were able to bravely hold on and even saw chances fall to Gunter and Bogle.
Bristol Rovers: Day, Leahy, Grant (Rodman 90), Upson, Westbrooke, Hanlan, McCormick (Barrett 76), Kilgour, Ayunga, Hare (Harries 58), Baldwin
Subs (not used): Van Stappershoeff, Little, Harries, Ogogo, Koiki
Charlton: Amos; Matthews, Gunter (C), Oshilaja, Maatsen; Williams (Smyth 69, Gilbey 87), Morgan, Forster-Caskey, Millar; Aneke (Bogle 69), Washington (Schwartz 69)
Subs (not used): Maynard-Brewer, Purrington, Barker
Goal: Forster-Caskey 64
Booked: Oshilaja 61 (foul on Hanlan), Morgan 74 (foul on Upson)
Sent off: Morgan 85 (second bookable offence)
Referee: P Wright
Attendance: 0 (Behind closed doors)