Two goals from John Marquis fired Yorkshire rivals Bradford City 2-0 at the Keepmoat Stadium.
Marquis scored both his goals in the second half to seal the win as Rovers moved one step closer to securing another season in League One.
It was the visitors who had the game’s opening chance on a chilly evening at the Keepmoat Stadium.
Alex Gilliead made a charge down the right-hand side and he swung a low cross in, looking to catch the Rovers’ defence out.
Tony McMahon charged in but Marko Marosi rushed out to claim the ball before the Bantams’ defender could tap the ball home.
The visitors had a spring in their step, buoyed by their early chance, and only a last-ditch block by Joe Wright would prevent them from taking the lead.
McMahon was again involved, cutting inside on to his left foot, and as his shot deflected off of Luke McCullough, the ball looped up into the path of Timothee Dieng.
Dieng’s header looked destined for the back of the net, only for Wright to be in the right place and clear the ball off the line.
McMahon was the architect of the majority of City’s chances, and his corner from the left caused Rovers more problems.
He swung the ball into the area, with Bantams’ skipper Romain Vincelot rising highest to meet the set-piece, however Marosi was there to palm the ball away and Rovers eventually cleared.
Rovers first chance came through a set-piece of their own, as James Coppinger swung the ball in for Wright, but the defender could only put his header over the bar.
In what was a recurring theme for both sides, the hosts next chance came through yet another set-piece, as Coppinger was tripped by Dieng on the edge of the area.
A free-kick routine saw Tommy Rowe swing the ball into the area, only for Wright to glance another header just wide of a post.
Marquis was next to try his luck for Rovers, as he collected a ball over the top from Coppinger. Marquis struck the ball on the bounce under pressure from Nathaniel Knight-Percival, but his shot couldn’t dip under Colin Doyle’s crossbar in time.
The Bantams had one last chance just before the interval to take the lead in added on time, with Gilliead in space in front of goal, but he could only curl just wide of the post.
It was the visitors who had the first chance after the break, with Tyrell Robinson getting a cross in from the left, but the on-rushing McMahon was unable to keep his header down.
Rovers then had a great chance to take the lead themselves, as a free-kick from Coppinger caused a scramble in the area.
Both Wright and Rowe tried to claim the ball in the box before shooting, before the latter managed to squirm a shot through the Bantams’ defence, only to see Doyle collect comfortably.
Bantams substitute Joel Grodwoski was next to go close to opening the scoring, as he chipped just over the bar following a ball in by Shay McCartan.
With 15 minutes to go however, the deadlock would be broken, and it would be the home side who took the lead.
A great spell of Rovers’ pressure saw the ball eventually worked out to Niall Mason, and he swung a cross in from the right-hand side that evaded everyone in the Bantams’ area, apart from Marquis.
He smashed a header into the back of the net from six yards out, leaving Doyle with no chance and handing Rovers a precious lead.
Alfie Beestin was next to go close on his return from injury, as he volleyed towards goal after Marquis flicked the ball up, but Doyle again got down well to save.
Rovers put the seal on things deep into injury time, as they broke through Coppinger and Beestin, before Beestin fed the ball through for Marquis.
He raced into the area before calmly slotting the ball under Doyle for his and Rovers’ second to earn them a vital three points.