Matty Blair headed home an injury time equaliser as off-colour Rovers earned a scantly-deserved point against Charlton.
Patrick Bauer's first half header looked to have put Charlton on course for victory at the Keepmoat.
But Blair nodded in deep into five minutes of injury time to ensure James Coppinger's 500th league appearance for the club ended on a more positive note.
Darren Ferguson made one change from the draw at Portsmouth with Niall Mason replacing Tyler Garratt. Mason started the game at right back with Tommy Rowe at left back in a 4-4-2 diamond system.
Rovers were the first to threaten when Andy Boyle headed narrowly wide from a James Coppinger corner.
But much of Rovers' play was slack, with misplaced passes and ponderous possession which helped give the visitors the greater threat.
Tom Anderson got in just ahead of Ben Reeves to block a cross as Charlton took advantage of flat-footed Rovers defending.
And it needed a vital block from Jordan Houghton to prevent Josh Magennis from turning in Tarique Fosu's low cross.
But from the subsequent corner, Rovers' set piece woes came back to haunt them again as they fell behind on 18 minutes.
Jake Forster-Caskey stabbed a corner to the far post where Bauer rose with ease to nod down a header.
Rovers continued to struggle in possession and chances were rare. The best of which saw John Marquis run onto Rowe's cut back but fire tamely straight at Ben Amos.
Ferguson switched around his back four with Mason moving to left back and Matty Blair slotting in on the right with Rovers having struggled on the right both in and out of possession.
They began to see much more of the ball as half time approached but found openings hard to come by.
There was little improvement after the break from Rovers, who continued to be off the pace.
And the visitors continued to have the better of the chances.
Lawlor saved well at his near post when Fosu jinked into the area and drilled a shot towards the top corner.
And the Rovers keeper was positioned well again to bat away a low effort from Ben Reeves who turned smartly in the box.
Ferguson sent on Alex Kiwomya for his home debut, initially fielding him on the right wing.
But the openings continued to evade Rovers as they were shut out by a well-drilled Charlton outfit.
The visitors almost sealed the game 13 minutes from time when Fosu darted onto a slack backpass from Blair and rounded Lawlor, only for Tom Anderson to recover in time and produce a goal-saving sliding tackle.
Fosu's failure to score was punished in injury time when the ball looped up from a shot from Luke McCullough and Blair charged in to nod past Amos.
Rovers: Lawlor, Mason (Kiwomya 65), Anderson, Boyle, Rowe, Houghton, Blair, Whiteman (McCullough 71), Coppinger, Marquis, Beestin. Subs not used: Marosi, Alcock, Garratt, Kongolo, May.
Charlton: Amos, Solly, Kensa, Bauer, DaSilva (Lennon 90), Forster-Caskey, Kashi, Marshall, Reeves (Jackson 88), Fosu (KaiKai 83), Magennis. Subs not used: Phillips, Ajose, Aribo, Zyro.
Referee: Mark Heywood (West Yorkshire)
Attendance: 7,797 (783 away)