South Africa international Dean Furman's early goal had put the home side ahead, before Byron Webster equalised against his former club on the stroke of half-time.
Furman was then sent off for a second booking, but Duffy's first goal for Rovers was enough to condemn the Glovers to an 11th league defeat of the season.
In a contest between two clubs who were only promoted to the Football League 10 years ago there was a lack of quality on display, with both still adapting to life in the second tier after being promoted from League One last season.
Rovers boss Paul Dickov was able to welcome Federico Macheda back on loan from Manchester United after the Italian's initial loan spell was cut short by injury.
Yeovil manager Gary Johnson made four changes to the side who lost to Wigan last time out, with goalkeeper Chris Dunn making his debut after Wayne Hennessey's loan from Wolves ended and replacement Stuart Taylor returned to Reading after just two days for personal reasons.
Doncaster bossed the early possession, and deserved their breakthrough after 11 minutes.
Mark Duffy intercepted a loose Frazer Fyvie pass on halfway and progressed to the edge of the penalty box, before feeding Macheda in down the left channel - the striker's square ball leaving Furman a simple finish from six yards.
Yeovil made two first-half substitutions, and the introduction of Kevin Dawson for Fyvie saw them gain an increasing amount of control in the middle of the park.
Despite the visitors' improvement, there had been little sign of an equaliser before a Joe Ralls free-kick in the 43rd minute picked out Shane Duffy, and the centre-half's downward header across the six-yard box was fired home by Webster.
The hosts almost went back in front in first-half stoppage time when Paul Quinn's volley from a David Cotterill cross was blocked on the line.
Right-back Quinn also produced the first meaningful attempt after the break, his powerful 25-yard effort well held by Dunn.
Home goalkeeper Turnbull had to be alert on the hour mark to keep out Liam Davis' vicious shot after the replacement left-back made a marauding run into the area as the game began to open up.
Three minutes later Sam Hoskins cut in dangerously from the left but his low effort was well held by former Chelsea stopper Turnbull.
Rovers felt aggrieved not to be awarded a 66th-minute penalty when substitute James Coppinger appeared to be tripped by Webster inside the area, only for referee Stuart Attwell to wave play on.
Doncaster spurned a golden opportunity to retake the lead in the 77th minute - Richie Wellens failing to convert Mark Duffy's prod back across goal after Coppinger's cross had found the former Scunthorpe man unmarked at the back post.
Midfielder Furman was then given his marching orders for a clumsy challenge on Ed Upson.
Mark Duffy fluffed his lines 10 minutes from time after Macheda cleverly turned his man and Billy Paynter played the winger in only for him to shoot straight at Dunn.
The home side finally broke through with eight minutes remaining when Joel Edwards clumsily bundled Mark Duffy over on the edge of the box and the 28-year-old picked himself up to curl the subsequent free-kick in at the near post.
Yeovil pressed for a late equaliser, but Turnbull smartly held James Hayter's stoppage-time header.