Callum Camps had put Dale ahead just before the break with a sublime touch and finish, but goals from Mitchell Lund and Andy Butler put the home side ahead in the second half.
It looked as though the visitors would end their long winless run, but Canavan popped up in the dying seconds to rescue a point for Keith Hill’s side.
There was one enforced change to the side from Monday’s defeat at Wigan, with Grant Holt replacing the suspended Ian Henderson. Matt Lund returned to the bench after his spell out with injury.
The opening ten minutes were uneventful as far as both sides were concerned, but Dale soon kicked into life with only last ditch defending from Doncaster preventing an opener.
Nathaniel Mendez-Laing shifted the ball onto his left foot inside the area and pulled the ball back. It found Donal McDermott at the back post, whose ball across the face of goal was deflected out for a corner.
It was from the corner that Dale had three efforts blocked on their route to goal. Grant Holt and Mendez-Laing were both denied by great blocks, before a third effort was deflected out for a corner.
At the other end Josh Lillis was called into action by the dangerous Andy Williams for the visitors, when he raced out quickly one-on-one to deny the striker.
Tommy Rowe dragged a shot well wide for the visitors, as did Joe Rafferty for Dale as he looked for his second goal in two games at Spotland.
Rowe and Williams linked up for the visitors just before the half hour mark, but the striker’s header looped over Lillis’ crossbar.
Neither side could carve out a clear chance as the interval approached, and but for a moment of brilliance from Camps the game would have been goalless at half-time.
Ashley Eastham played a long free-kick forward and as Remi Matthews raced out of his goal to collect, Camps plucked the ball out of the air impeccably and swept the ball into the empty goal before it had time to bounce.
It was pure class from Camps, but at the other end Lillis had to make a save which was equally important. Williams broke through one-on-one again, but this time Lillis had to dive to his right to palm away a powerful effort from the edge of the area.
The second half was a much scrappier affair, and as the hour mark approached the visitors equalised. A corner was cleared out to Gary McSheffrey who crossed to the near post, where the ball was poked home by Mitchell Lund.
Mendez-Laing saw a curling effort fly over as Dale looked to retake the lead quickly, but it was the visitors who got their noses in front.
McSheffrey’s free-kick found its way through to Butler who poked the ball over Lillis and into the back of the net.
Keith Hill introduced Peter Vincenti and Joe Bunney in place of Mendez-Laing and Michael Rose, and Bunney forced Matthews into a flying save to his right when his cross found its way to the back post.
Lund replaced Rafferty in Dale’s final change, but it looked as though Doncaster would end their winless run, despite Craig Alcock being sent off for a second yellow card in the dying minutes.
However, with almost the last kick of the game Dale grabbed a dramatic equaliser through Niall Canavan. McDermott did well on the left to beat a man and cross to the back post where the ball ricocheted off the crossbar, before being thrashed home by Canavan.
There were wild celebrations from those of a Dale persuasion, who travel to Peterborough next weekend.