Doncaster finally ended their season-long losing run but they were given a massive helping hand by Hunslet as they chalked up their first win in 25 games.
Hunslet led 26-6 early in the second half but collapsed in spectacular fashion as the Dons fed on their mistakes.
Doncaster’s last victory came in August last year against Halifax.
They made a much better start this time against a Hunslet side thrashed by Leigh in midweek and went ahead with a 30th-minute try from debutant stand-off Joe McLocklan.
But their joy was short-lived when Danny Maun touched down following a slick passing move five minutes later and the home side trailed 8-6 at the interval when Matthew Gee wriggled over on the stoke of half time.
It looked like the same old story for Doncaster when tries from Richie Barnett, Gee and Callum Casey put the visitors 26-6 ahead.
But a clever kick from scrum-half Paul Mennell led to Peter Fox scoring in the corner in the 53rd minute and then Mitch Clark touched down after Hunslet had lost the ball near their own line.
Doncaster made it three tries in eight minutes as they narrowed the gap to four points when Steve Snitch powered over following a run by Liam Welham.
Belief began to flow through the side and Mennell levelled following another Hunslet blunder before prop Matt Groat grabbed the matchwinner to the relief of the home fans.
Doncaster: Carr, Scott, Doherty, Welham, Fox, McLocklan, Mennell, Groat, Kesik, Clark, Snitch, Musolino, Emmett. Substitutes: Spiers, Waller, Waterman, Wright.
Hunslet Hawks: Watson, Agoro, Maun, Gee, Barnett, Brown, Kain, Mulhern, Lee, Haley, Casey, Walters, Mackay. Substitutes: Lyons, Flanagan, Yates, Trout.
Referee: J Bloem (RFL).