Sharp, Bennett, James Coppinger and Simon Gillett all had chances for Dean Saunders's side, while the visitors, who slipped down to 16th following the defeat, forced David Button into just one real save.
James held an early shot from Gillett and, after Sharp had fired over the crossbar, was at his acrobatic best to tip George Friend's near-post effort around the post as Rovers created the better first-half chances.
Birmingham started the brighter but Doncaster had the game's first chance when James Coppinger fired straight at Boaz Myhill and Simon Gillett then dragged a shot wide after a mix-up in the Birmingham penalty area.