Doncaster finally ended their agonising 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. 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 stroke 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 inside 10 minutes of the restart.
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 six minutes later.
Doncaster made it three tries in eight minutes as they narrowed the gap to four points when former Wakefield and Castleford forward Steve Snitch powered over following a great run by Liam Welham.
Belief began to flow through the side and Mennell levelled following another Hunslet blunder before powerful prop Matt Groat grabbed the matchwinner six minutes from time to the relief and delight of the home fans.
Doncaster: Carr, Scott, Doherty, Welham, Fox, McLocklan, Mennell, Groat, Kesik, Clark, Snitch, Musolino, Emmett. Subs: Spiers, Waller, Waterman, Wright.
Hunslet Hawks: Watson, Agoro, Maun, Gee, Barnett, Brown, Kain, Mulhern, Lee, Haley, Casey, Walters, Mackay. Subs: Lyons, Flanagan, Yates, Trout.
Referee: Jamie Bloem (RFL).