The turnaround came despite a torrid start, Tom James seeing his kick blocked and Ed Milne dotting down within 40 seconds.
Two early penalties from Stevie McColl kept Doncaster in range and even after Jamie Gibbs cross again for Richmond, the Knights never allowed them to get too far ahead as Ben Hunter was carried over.
After a further exchange of penalties Doncaster trailed 17-16 with 12 minutes remaining but Lloyd Hayes managed to dot down despite being carried into touch before James atoned for his first-minute mistake by intercepting in Richmond territory and striding over the line.
Yorkshire Carnegie lost for the second away game in succession, the Headingley men falling 42-24 to Ealing Trailfinders.
Like Doncaster, Carnegie fell behind early, but at much-fancied Ealing they found themselves a long way behind as the hosts built a 19-0 lead inside 20 minutes.
Rayn Smid, Jordy Reid and Cordy Reddan all crossed with the first two scores converted.
A yellow card for former Carnegie player Ben West gave Yorkshire a glimmer of hope and they capitalised when new signing Dylan Donnellan peeled off from the back of the maul and went over.
But that, and an exchange of penalties was all they could muster as Pat Howard crossed after half-time to earn Ealing the bonus point. Dan Temm crossed for Carnegie, only for Reid to score his second.
Brendan Cope scored and converted Carnegie’s third try but they were unable to at least claim a try bonus.