Dewsbury overcame a mistake-riddled first-half display to emerge comfortable winners at struggling Doncaster.
Rams raced into a 10-0 lead through tries by Joel Farrell and Dale Morton, but a dreadful blunder from Jason Crookes when he gave the ball away close to his own try line allowed Sam Doherty the easiest of tries.
Two more handovers followed before Mike Emmett raced between the posts six minutes later with Stewart Sanderson adding the points to put Doncaster 12-10 in front.
Then a Donny error saw Aaron Brown intercept a pass from Ben Reynolds deep in his own 25 and race the length of the pitch to touch down. Sanity was restored after the interval as Dewsbury cut down on the errors to grab two more tries through Scott Hale and Crookes to clinch the victory.
Doncaster: Scott, Doherty, Welham, Leaf, Sanderson, Nicklas, Reynolds, Tyson-Wilson, Kesik, Waller, Kelly, Smitch, Emmett. Subs: Carbutt, Spiers, Clark, Foster.
Dewsbury Rams: Hyde, Morton, Crookes, Hale, Grant, Brown, Thackeray, Hepworth, Hemingway, Jackson, Farrell, T Adamson, L Adamson. Subs: Wilbie, Haggarty, Smith, Beckett.
Referee: Tom Crashley.