Grant McCann’s side lost 2-0 at The Valley last month, but reversed the scoreline on Saturday.
First-half opportunities were few and far between, a point emphasised when nobody was on hand to apply a finishing touch to Niall 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 Tommy Rowe and Alfie May each going close early on.
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 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 keep out Marshall header, while Phillips was called into action to deny Wilks and Paul Taylor.
Charlton Athletic: Phillips, Dijksteel, Sarr, Stevenson, Marshall, Clarke, Reeves (Morgan 68), Lapslie, Maloney (Sarpeng-Wiredu 79), Hackett-Fairchild, Ajose. Unused substitutes: Steer, Kennedy, Blumberg.
Doncaster Rovers: Lawlor, Mason, Andrew, Butler, T Anderson, Whiteman, Rowe (Crawford 62), Kane, Blair, Marquis (Taylor 79), May (Wilks 62). Unused substitutes: Marosi, Beestin, Amos, Cummings.
Referee: B Huxtable (Devon).