It was Forest's fourth successive away defeat and they had substitute Garath McCleary sent off to add to their misery.
McCleary was harshly shown the red card seven minutes from time following an innocuous looking challenge on John Oster.
Billy Davies' men were full of commitment but it was not enough against an inspired Doncaster side, who shrugged off a couple of injury problems to clinch a deserved win.
Rovers made an excellent start in an end-to-end first half played at break-neck speed.
They stamped their authority in midfield with skipper Brian Stock in splendid form and supported by the skilful Oster and James Coppinger.
Stock and Coppinger combined to set up a chance for Sharp in the fourth minute but he was denied at the expense of a corner.
Sharp twice went close again before Doncaster suffered a blow when defender Jason Shackell limped off injured after only 15 minutes.
But they recovered to maintain the pressure and Sharp made the breakthrough in the 31st minute when he headed home a cross from James Chambers.
Forest should have had a penalty when Chris Gunter appeared to be fouled by Mark Wilson and they missed a great chance to level the scores just before half-time.
Chris Cohen sent Nathan Tyson racing clean through but home keeper Neil Sullivan came to the rescue with a brilliant reflex save.
Forest battled hard to try and get back in the game but Doncaster held firm at the back despite another injury blow when central defender Shelton Martis hobbled off 20 minutes from time.
McCleary and and Dele Adebola missed chances for Forest before McCleary's red card left the away team with a mountain to climb.
They never looked like fighting back after that and Rovers held on comfortably to dent Forest's automatic promotion hopes.