Battling Doncaster Rovers endured more late heartbreak as they were denied a desperately needed win deep in injury time.
Rovers recovered from going a goal down to lead before Rochdale grabbed a devastating equaliser almost six minutes into injury time.
It was another painful blow for Rovers who had produced their best battling performance for some time to deservedly end their losing run.
But how much consolation that will provide is unclear as they remain four points from safety with only six games remaining.
A Remi Matthews howler just before the break allowed Callum Camps to give the hosts the lead and threaten to compound Rovers' relegation misery.
But Rovers roared back in the second half and turned the game on its head with goals from the unlikely figures of Mitchell Lund and Andy Butler.
Late in the game Craig Alcock was sent off after picking up two yellow cards.
And the day soon got worse for Rovers when Niall Canavan turned home after a goalmouth scramble deep into time added on.
Darren Ferguson opted for a return to 4-4-2 with a diamond midfield, putting Luke McCullough in a defensive midfield role following his return from international duty.
Rochdale should have been in front after 12 minutes. Nathaniel Mendez-Laing raced into the box and released Donal McDermott whose shot was saved and follow up almost turned into his own net by Craig Alcock.
From the subsequent corner, Mendez-Laing smashed a shot off the post before Remi Matthews saved from Grant Holt's follow up.
Rovers should have been ahead soon after. A superb through ball from McCullough sent Andy Williams one-on-one but the on-rushing Josh Lillis produced an excellent block from his attempted chip.
Williams headed over the bar from a good position as the half hour mark approached.
And just when it looked as if the half would end goalless, Rochdale struck.
Matthews raced out of his goal to claim Ashley Eastham's dinked free kick only for Camps to bring the ball down and poke it into an empty net.
Rovers had a shout for a penalty just before the break when Williams tumbled in a tussle.
The visitors came out strongly at the start of the second half and were denied an equaliser by the offside flag after Gary McSheffrey had turned home.
But they did not have to wait too long for the leveller.
After his corner was cleared out, McSheffrey sent the ball back in, sparking a goalmouth scramble with Lund forcing the ball home on 57 minutes.
And 11 minutes later the game was turned on its head.
McSheffrey clipped a free kick into the box, the ball bounced and Butler pounced to flick the ball over Lillis.
Matthews produced a fine save from a dangerous cross from Joe Rafferty but Rovers looked largely comfortable as the game drew to a conclusion.
Then came Alcock's controversial dismissal in the early stages of five minutes of injury time. First he was booked after a coming together between him and Rochdale substitute Peter Vincenti with the referee appearing indecisive over who had commited a foul.
And then he saw red after a second booking for delaying play.
But Rovers remained largely untroubled until their late hammerblow.
The ball was punted into the box from a free kick, sparking a scramble and Canavan hooked in from close range.
It delivered more devastation from Rovers on what has been a tough week but the losing run was stopped at seven matches.
Rochdale: Lillis, Rafferty (Lund 84), Eastham, Canavan, McNulty, Allen, Rose (Bunney 71), McDermott, Camps, Mendez-Laing (Vincenti 71), Holt. Subs not used: Collis, Lancashire, Cannon, Syers.
Rovers: Matthews, Alcock, Butler, Taylor-Sinclair, Lund (Middleton 75), Coppinger, McCullough, Rowe, Calder (Chaplow 74), McSheffrey (Tyson 78), Williams. Subs not used: Stuckmann, Evina, Stewart, Mandeville.
Referee: Darren Bond (Lancashire)