The Tigers had captain Ian Ashbee sent off to add to their troubles but the result was no more than Doncaster deserved.
City started and finished strongly, but Doncaster dominated in between and could have won by a bigger margin.
Rovers soaked up the early pressure with Tim Ryan and Steve Foster resolute in defence and it was the home side that had the first attempt at goal when Dave Mulligan had a 30-yard saved in the 12th minute.
Mulligan went close again with a 20-yard free-kick which curled inches wide seven minutes later.
John Doolan was outstanding in midfield for Doncaster and he combined with Gregg Blundell to set up a chance in the 34th minute for Neil Roberts who fired into the side netting.
Chances at either end were few and far between and defences remained on top until McIndoe made the break through with a fierce angled drive to notch his 10th goal of the season following good work from Beach and Roberts.
Foster had a close range shot blocked following corner nine minutes later before Hull substitute Stuart Green fired over at the other end.
City were left with a mountain to climb after Ashbee's 77th minute dismissal for a second bookable offence, while Doolan went close to stitching up the points when he had a cracking 30-yard effort tipped around the post a couple of minutes later.
Hull battled to the end but Rovers keeper Andy Warrington came to the rescue to superbly parry a goal bound effort from Gary Allsopp and Kevin Ellison hit the rebound wide.
Green volleyed wide in stoppage time as Hull's last chance came and went with Rovers good value for the win.