James Hayter tucked away a controversial penalty in injury-time to stretch Doncaster's two-month unbeaten run in League One.
Oldham were furious at the decision by referee Dean Whitestone as they were adamant that Paul Green was at least a yard outside the box when he went down under Chris Taylor's challenge.
Hayter kept his head to make it 1-1 and Doncaster was also unhappy with the officials as they felt Oldham's first-half breakthrough should not have been allowed.
They claimed Lee Hughes used his arm to deflect in a shot from Mark Allott in a game of controversy and drama in atrocious conditions.
The sides had already met three times this season, once in the Johnstone's Paint Trophy when Doncaster came out on top and twice in the FA Cup when a 1-1 draw was followed by victory for Oldham.
Oldham were the better side on this occasion but they were let down by their finishing before Whitestone and Hayter provided the last-ditch action.
Hughes could have given Oldham an early lead when his shot on the turn from a pass by Taylor was beaten out by keeper Neil Sullivan, who was to have a busy afternoon.
Doncaster made two chances in the next few minutes but Lewis Guy drilled his first shot against the outside of the post before being halted by Ryan Bertrand on the second.
Craig Davies should have scored for Oldham after streaking clear of the Rovers back four, while Hayter gave home keeper Mark Crossley his first test.
The chances continued for both teams and it was Oldham who were first to capitalise a minute before half-time.
Allott's shot from a pass by Gary McDonald looked to be heading inside the post before Hughes helped it on its way.
Oldham got on top after the break and wasted clear openings for Hughes and Davies, although Crossley had to make a fine save from Martin Woods.
Woods also hit the woodwork from long-range before the game had its controversial ending and Oldham wasted their final chance through McDonald in the last few seconds.