Second half goals from Andy Butler and John Marquis saw Rovers advance from a tie which they largely controlled in front of a sparse crowd at The Valley.
Grant McCann fielded a strong side with only two changes, one of which saw Tommy Rowe start his first game in three months while James Coppinger sat out entirely. Matty Blair came in for Ali Crawford in the other switch.
In contrast, Charlton boss Lee Bowyer rang the changes, with only Nicky Ajose retaining his place from the midweek win at Burton Albion in League One.
As expected given the line-ups, Rovers had the greater fluency and enjoyedÂ the better of the first half in territory terms but struggled to translate that into clear cut chances.
Lakeside Doncaster: Online tributes pour in for man who's body was found in South Yorkshire lake
Lakeside Doncaster: Emergency services launch search after man gets into difficulty in water
Lakeside Doncaster: Tragic end to huge rescue operation as body is found following search of lake
Major Doncaster bridge will be closed for a whole month for essential maintenance
Scawthorpe fire: 'Avoid the area' warning as five crews tackle large wildfire during Doncaster heatwave
Rowe headed a cross over the bar from a decent position while Alfie May saw a low drive deflected wide by Addicks defender Anfernee Dijksteel.
Charlton mainly attacked on the break but some alert defending in the box ensured they struggled to test Ian Lawlor. Blocks from Andy Butler, Tommy Rowe and Niall Mason ensured efforts on goal were blocked behind.
The most threatening moment of the opening half saw Herbie Kane run onto a flick from Tommy Rowe and smash a first time effort from 25 yards which stung the palms of Charlton keeper Dillon Phillips.
The pattern of the game continued into the second half with Rowe seeing a low shot deflected wide while Phillips got in ahead of John Marquis to claim a low ball from May.
Charlton enjoyed a mini burst but Ben Reeves saw his drive headed clear by Tom Anderson while Niall Mason produced a brilliant block tackle to stop Toby Stevenson from firing on goal.
Rovers finally broke the deadlock on 67 minutes when Butler met a Danny Andrew corner with a header with a bounce bemusing the Charlton defence and seeing the ball nestle in the back of the net.
Rovers quickly pushed for a second with substitute Mallik Wilks firing wide before Ali Crawford tested Phillips with a low effort.
But the second did come 13 minutes from time. Butler headed a deep free kick back across goal and Marquis made sure it crossed the line with a close range header.
Charlton almost pulled a goal back moments later but Ian Lawlor produced a stunning one-handed stop on his line to turn away a bullet header from substitute Brendon Sarpong-Wiredu.
Rovers continued to push for more and should have had a third with a rapid break.
Wilks and Paul Taylor exchanged passes before the former powered a low drive which Phillips batted away. Taylor went for goal himself from distance moments later but again Phillips was equal to it.