Swindon's Jerel Ifil and Bristol Rovers substitute Richard Walker were given their marching orders for violent conduct eight minute from time.
A minute later, visiting defender Steve Elliott was red-carded.
Swindon substitute Sofiane Zaaboub, who had only been on the pitch a matter of minutes, became the fourth player to be dismissed in injury time.
Three other players were booked for dissent by the Portsmouth-based official in a game that seldom threatened to get out of control.
Roberts's 68th-minute penalty - awarded for a foul by Rovers defender Joe Jacobson on the edge of the box - settled the derby and gave Swindon their first win in five games.
It may prove to have been a winning farewell to the County Ground for Swindon manager Paul Sturrock, who is linked with a return to Plymouth Argyle after Ian Holloway quit to join Leicester City.
Swindon were fortuitous winners as Bristol Rovers largely bossed a scrappy affair spoiled by a strong downfield wind.
Rovers had called the tune for long periods without taking their chances.
Ricky Lambert hit the Swindon bar in the opening minute, while goalkeeper Petr Brezovan, who performed heroics in the Town goal, twice denied Sean Rigg.
Brezovan came to Swindon's rescue several more times in the second half, before Roberts drilled home the winner from the penalty spot.
Bristol Rovers mounted sustained pressure in the closing stages and had a goal disallowed when an effort by Danny Coles was ruled out for offside.
But in the end it was referee Rob Styles who became the focus of attention as Ifil, Walker and Elliott were all red-carded in the space of 90 bizarre seconds and Zaaboub followed them for an early bath in injury time.