In a dismal first half, the only real chance of note came in the 23rd minute when County defender Ashley Eastham was dispossessed by Rovers striker Iain Hume who shot narrowly wide of the far post.
The visitors should have opened the scoring in the 58th minute when a back-post free-kick was headed across the box by Tommy Spurr but somehow Kyle Bennett fired over.
Bennett's blushes were quickly spared though when David Syers picked out Keegan who placed his header past Bartosz Bialkowski after 61 minutes.
Doncaster doubled their lead two minutes later when Hume found half-time substitute Brown who curled the ball home, although Bialkowski certainly should have done better.
County ended the game with 10 men when Jordan Stewart was forced off injured and Doncaster comfortably held on to gain all three points.