Tommy Rowe’s fifth-minute attempt was off target for the visitors, while at the other end Reeco Hackett-Fairchild and Billy Clarke both saw efforts blocked.
An unmarked Rowe should have done better after getting on the end of Niall Mason’s inviting delivery and Alfie May’s shot was put behind as Rovers continued to press.
But first-half opportunities remained few and far between, a point emphasised when nobody was on hand to apply a finishing touch to Mason’s dangerous 28th-minute low ball across the face of goal.
Addicks goalkeeper Dillon Phillips had to be alert to deal with Herbie Kane’s well-struck volley and Kane then saw a free-kick sail over just before the break.
Doncaster picked up where they left off after the restart with Rowe and May each going close early on.
Charlton remained a threat on the counter, however, with Reeves’ shot headed behind by Tom Anderson and then Mason having to produce an excellent challenge on Toby Stevenson inside the area.
The Addicks came agonisingly close to breaking the deadlock just after the hour when Clarke’s free-kick flew inches over the crossbar and a relieved Ian Lawlor in the visiting goal.
Andy Butler headed over from a corner but made amends moments later with an attempt which was deflected into the net via Marshall’s chest, with Phillips unable to keep it out.
Mallik Wilks, John Marquis and Ali Crawford all came close to doubling Rovers’ tally before Grant McCann’s outfit sealed the tie with 13 minutes remaining.
Butler flicked on a Danny Andrew free-kick, allowing former Millwall striker Marquis to head home from close range.
Lawlor made a stunning save to somehow keep out Marshall header, while Phillips was called into action to deny Wilks and Paul Taylor.
Toby Stevenson headed over when it looked easier to score for Charlton as the game swung from end to end late on, but Doncaster deservedly held on for a clean sheet and a place in the third-round draw.