Peter Brezovan started in goal for Swindon again replacing the injured Phil Smith for a second week.
Brian Stock scored for Doncaster on 31 minutes with a close range goal after a poor first half an hour.
Swindon had a penalty appeal turned down after a push in the box, but it wasn't given.
Neither side came close again, and it went into half time with the Yorkshire side leading 1-0.
Swindon scored almost straight away when their goal keeper dropped the ball after a Zaaboub cross, and Smin Cox was able to bundle the ball across the line to make it 1-1.
Doncaster took the lead again on 72 minutes after Swindon failed to clear the ball away, and Lewis Guy was able to score from close range to make it 2-1 to Doncaster.
Overall a very poor game with Swindon having few goal scoring chances, and with Doncaster only winning because they took what few chances they had. Swindon now drop down to 11th ahead of the visit by Leyton Orient on Tuesday evening.