MARLON King's late strike condemned hard-working Doncaster to defeat at St Andrew's.
Rovers matched the Blues stride for stride during an even first half and then took the lead through Marc-Antoine Fortune after the restart.
Fortune coolly slotted home after he was picked out by James Coppinger following an incisive Rovers counter attack.
But all of Doncaster's hard work was undone by an uncharacteristic error from goalkeeper Carl Ikeme who sold Habib Beye horribly short with a routine pass - allowing Chris Burke to nip in and find King who rifled home.
King then had the final word in the 88th minute when he was the on the end of some good link-up play between Stephen Carr and Burke, finding space in the box to drill a shot through Ikeme's legs.
James Coppinger had gone close in the first half when he sidefooted straight at Boaz Myhill from point blank range, while Chris Wood wasted two gilt-edged chances for the Blues.
But there was little to choose between the two teams - with Ikeme's mistake proving to be the turning point in the game.