A second half goal from Aaron Pierre means Shrewsbury Town end Rovers' four game unbeaten run.
Shrewsbury came to the Keepmoat Stadium full of confidence having already beat Hull City and Lincoln City in their previous two games.
Rovers were in control of the game for the first half with the first noticable chance coming in the third minute with former Shrewsbury man Fejiri Okenabirhie missing a golden opportunity after struggling to get the ball under control.
Moments later Okenabirhie did find the back of the net after sliding through the legs of the advancing Matjia Sarkic, but linesman Peter Gooch ruled it out for offside.
The Rovers number nine seemed to be enjoying his first start on the left wing for the side putting in some teasing low balls into the box that unfortunately nobody could get on the end of them. A perfect counter attack then followed for Darren Moore’s side that finished with Okenabirhie dragging an effort just wide.
Another big chance came Rovers’ way in the 28th minute with Jon Taylor nearly ending another swift attacking move with a goal but he was unlucky to watch his effort drift wide.
Despite some scintillating chances on goal for Rovers the game remained goalless at the break with all still to play for.
Steve Cotterill made one change to his team for the second half with Dave Edwards making way for Shilow Tracey.
The tables turned in the visitors’ favour in the early stages of the second period and they were awarded for that with a goal. Shrewsbury made the most of a free kick where Aaron Pierre rose tallest to nod past Joe Lumley’s far post.
In response, Reece James almost added to his tally for the season with a header at the back post which went inches over Sarkic’s goal.
Rovers’ first shot on target of the second half came through Tyreece John-Jules who turned on the edge of the box to shoot low – forcing a routine save out of the Wolverhampton Wanders loanee goalkeeper.
Frustrations began to show for Rovers when captain Ben Whiteman tried his luck from 25-yards only to watch his effort drift wide. But it wasn't meant to be for Rovers who couldn't seem to find the back of the net.
In an attempt to shake things up, Moore introduced Jason Lokilo to the game with Jon Taylor making way. That change was shortly followed by James Coppinger replacing Taylor Richards, but unfortunately neither changes were able to make a substantial impact on the game as Shrewsbury held on to their 1-0 lead to seal the three points.
The result means Rovers will spend Christmas Day in fourth position in Sky Bet League One.