Rovers were stung in stoppage-time at Rotherham United, with a penalty converted in the 13th minute of time added on sealing the match.
Darren Ferguson made one change to his starting line-up, with Ben Whiteman coming into the side in place of the injured Luke McCullough.
The opening minutes were scrappy but end to end, with a couple of Craig Alcock throw-ins threatening to bring early chances for Rovers and Andy Boyle needing to be alert to intercept Joe Newell after three minutes.
The closest either side came to an opener inside the first 10 minutes was a glancing header rom Semi Ajayi, from a Towell cross, but it went well wide and was no danger for visiting keeper Marko Marosi.
Rovers forced the first save out of home keeper Marek Rodak after 12 minutes after a well-worked set-piece from close to the half-way line. Niall Mason played it short to James Coppinger, whose deep cross found Tom Anderson - Rodak got down well to save the headed effort.
There was no secret about how the home side attacked, getting the ball into the box from every opportunity - David Ball headed wide after 15 minutes from a deep cross and half-volleyed over after 22 minutes after Will Vaulks’ long throw.
All the home side’s best chances were falling to Ball, and just after half an hour he glanced wide from a central position.
Rovers took the lead after 39 minutes when Marquis and Alex Kiwomya combined to close down defender Ajayi and win the ball off him.
Kiwomya played the ball back to Marquis, who showed great composure to control the ball, take it away from a defender then blast home.
There were no changes from either side, and Rovers carved the first opening of the second period inside the opening seconds when Marquis just could not get on the end of a low delivery from Whiteman.
There was a lengthy break in play with fewer than five minutes of the second period played when Tom Anderson - who was clattered by Marosi when dealing with a ball into the area - needing to be replaced by Joe Wright after close to 10 minutes of treatment on the pitch.
Rovers were almost caught napping after the restart when the home side quickly won a corner, which Vaulks headed just over the bar.
The game sparked quickly back into life, with Towell blocking a goal bound effort from Tommy Rowe after great work from Marquis down the right.
Newell fired over after a Vaulks long throw was directed into his path just after the hour mark, then Joe Mattock headed wide at the near post after a corner.
The home side were getting the ball into the box at every opportunity, with Rovers looking at their most dangerous when on the counter-attack.
On one of those occasions Mattock headed just over his own crossbar from a Coppinger cross, with Marquis lurking and looking for his second of the game.
Rovers had to defend with some real determination, epitomised by Wright throwing himself at a Newell shot with 20 minutes to go which look destined to level the score.
There was another delay after 77 minutes when Beestin needed to go off on a stretcher, with Matty Blair coming on.
Rovers looked as solid as they have done all season, with Ryan Williams’ 84th-minute shot straight at Marosi and easy for the keeper to pluck out the air.
Blair went close to a second after 88 minutes when the ball was worked to him on the edge of the area after a Rovers throw-in, but his powerful left-footed effort went wide.
There were 12 minutes of time added on after the injuries to Anderson and Beestin.
The equalising goal came with three of the 12 played, with Michael Smith forcing the ball home from a corner.
There were still close to 10 minutes to be played, with Rowe firing just wide as Rovers looked to reclaim the lead.
The home side were awarded a penalty as the 12th minute of stoppage time drew to a close, with Smith felled in the area. Newell converted the penalty to claim the points.