Doncaster staged a superb rearguard action to inflict high-flying Leicester's second defeat of the season after being gifted a goal by goalkeeper Kasper Schmeichel.
The Dane inexplicably punched a corner into his own net in the 17th minute and it was all hands to the pump for Rovers after that as City piled on the pressure in a bid to battle back.
But the home side worked tremendously hard and defended tenaciously to deny the Foxes a shot on target in the second half and hold on for a 1-0 Championship win.
The win ended a run of four home games without a victory for Rovers and in the end it was well deserved.
Leicester were just starting to settle into their stride after Rovers had made a bright start when they were undone by Schmeichel's blunder.
Neither side had really threatened up to that stage and the goal came from Doncaster's first corner.
It looked a poor corner from Mark Duffy when he drove it chest high to the near post.
But Schmeichel got his attempted clearance all wrong as he punched it into his own net under no pressure whatsoever.
Leicester seemed rattled by the goal and endured a shaky spell before hitting back to test home keeper Ross Turnbull for the first time. He reacted smartly to palm away a cracking 20-yard effort from Anthony Knockaert.
At the other end Wes Morgan did well to keep out Federico Macheda and then Theo Robinson had a goal bound effort deflected for a corner.
Schmeichel partly made amends for his mistake when he did well to dive full length to keep out a deflected 20-yard effort from Dean Furman in the 31st minute before the visitors put Doncaster under tremendous pressure towards the end of the half.
Paul Konchesky had a low 20-yard shot well held by Turnbull in the 36th minute as City began to dominate the play.
Doncaster had a lucky escape just before the interval when Jamie Vardy latched on to a cross from the left and controlled the ball superbly before hitting a low shot that beat Turnbull but bounced back off the far post.
Leicester maintained their grip in the second half with Rovers continually pinned back in their own half.
But the Foxes were foiled by some gritty defending and their own poor finishing.
Knockaert was unlucky, though, when he drove a terrific free kick just over the bar from a difficult angle in the 57th minute.
Leicester threw everything they had at the home side, but Rovers held firm and could have made it more convincing only for the impressive Chris Brown to blaze a good chance over the bar in the closing stages.