Liam Noble struck twice for the Cumbrians as they dealt Donny a bloody nose at the Keepmoat Stadium.
Rovers were looking to extend their lead over Bournemouth to five points but instead came unstuck as former Sunderland midfielder Noble hit a 35th-minute free-kick and followed up with a long-range strike four minutes from time.
Promotion-hopefuls Sheffield United were off colour at Bramall Lane, going down 2-0 to Crawley.
Billy Clarke put the visitors ahead in the 77th minute and substitute Paul Hayes added a second seven minutes later.
MK Dons increased their chances of breaking into the play-offs at the expense of sixth-placed Swindon, who they defeated 2-0.
Mathias Kouo-Doumbe (58) and Ryan Lowe (89) were the Dons' scorers.
Oldham slipped deeper into relegation trouble as Preston secured the points in a 2-0 victory at Deepdale.
Nicky Wroe's 11th goal of the season, from the penalty spot, and Will Hayhurst's goal at the death took North End's unbeaten home run to six, while Oldham remain above the drop zone on goal difference over Scunthorpe.