Rovers’ eight-match unbeaten run in the league came to an end, as Bristol Rovers ran out 3-1 winners at the Keepmoat Stadium.
Rovers were unable to capitalise on John Marquis’ early opener, as goals from Ryan Sweeney, Rory Gaffney and Ellis Harrison saw the Pirates claim all three points, which saw Rovers lose their first game since December.
Rovers were on the front foot from the off, and they got the opening goal inside four minutes.
He fended off pressure from Liam Sercombe and crossed in for Marquis, who tapped in from close range to hand Rovers an early lead.
Despite their slow start, the visitors did grow into the game, and went very close to going level.
A Bristol free-kick was cleared out by the Doncaster defence, but only as far as Chris Lines, who was lurking 20 yards out from goal.
His half-volley was struck well and looked destined for the bottom corner, only for Ian Lawlor to get down brilliantly and palm the ball away from danger.
Just moments later however, the equaliser that the Pirates had been threatening did arrive, with a Doncaster mix-up at the back to blame.
A corner wasn’t cleared at all well and at the second attempt, Lines crossed in for Sercombe who headed the ball across goal.
The former Oxford man’s header was met by Sweeney, who smashed into the empty net to put the Gas back on level terms.
This didn’t deter Rovers though, and they had two great chances in the space of a minute to regain the lead.
First, Marquis collected a ball through into the penalty area, only to see his shot scuffed and cleared out for a corner.
From the resulting corner, the ball was cleared out to Ben Whiteman, who struck from 25 yards out.
However, with his curling effort looking destined for the corner, a combination of a deflection off a Bristol head, and a stunning save from Adam Smith, saw him denied.
It was becoming difficult for Doncaster to break down the Bristol defence, with three shots in quick succession being blocked, as Tommy Rowe saw two shots blocked on the line either side of an Alfie Beestin shot on goal.
Good work between Beestin and Whiteman then saw the latter open up space on the edge of the area, but he was only able to curl just over Smith’s crossbar.
Whiteman was involved in everything Rovers were creating going forward, and this time he linked up with James Coppinger, but again could only fire over from outside the box.
Rowe and Marquis then combined just before the break to set up Whiteman on the edge of the area, but his drive across goal narrowly missed the far corner.
The visitors came on the attack immediately after the interval, and as Harrison pulled the ball across goal, both Rowe and Lawlor were able to block a Stuart Sinclair shot.
From the resulting corner, Sinclair again found space, but this time his fierce drive was stopped by Lawlor and cleared away to safety.
It wouldn’t be long before Bristol took control however, and they got themselves in front five minutes after the break.
A free-kick into the box was headed back across goal by Harrison, and Gaffney was there to take a touch before slotting home past Lawlor to hand the Pirates the lead.
Rovers went in search of an equaliser, and Rowe played a ball forward to Whiteman who was on the edge of the area, but his effort on goal was deflected behind for a corner.
Not long after came a chance that should have seen the home side draw level.
Rowe’s hard work down the left saw him evade the shirt-pulling Joe Partington and fire a low ball across the face of goal.
His cross evaded everyone apart from Matty Blair at the back post who, albeit from a tight angle, somehow was unable to put the ball into the empty net.
Rovers’ wasted chances would come back to haunt them as the game drew to a close, and despite penalty claim after penalty claim from the home side, nothing was given, and from the last of those, the Pirates broke away.
Harrison ran from inside his own half and slotted past Lawlor from inside the area to seal three points for the visiting Rovers.
Marquis went close to getting one back as he struck a late free-kick on goal, but Smith got down to collect comfortably.
Beestin and Marquis then had efforts that went just wide of Smith’s goal deep into injury time, but it would all come too late as Rovers were unable to maintain their good form.
Substitute Tom Nichols then saw his late strike from distance saved by Lawlor, and that brought a close to proceedings at the Keepmoat Stadium.
Rovers now travel to Portsmouth next Saturday and they looking to bounce back from defeat and collect three points in Sky Bet League One.