Coming somewhat against the run of play, the Welsh striker fired home from 12 yards on his 26th birthday to cancel out Matthew Sparrow's earlier effort.
Swindon boss Iffy Onuora persisted with his system of playing three upfront in the hope it would yield their first home win in 10 games.
However, it was the visitors who dominated the first 45 minutes.
Veteran Peter Beagrie and young Birmingham loanee Peter Till were a constant menace on the flanks for the home side as they delivered numerous crosses.
And it was only a matter of time before they were going to get the first goal.
It came on 35 minutes when the speedy Marcus Williams crossed from the left and Sparrow stole in from midfield to fire a 15-yard volley low to Tom Heaton's right.
Sparrow again came close just minutes later when his 20-yard effort was well saved by Heaton and the game began to look like a damage limitation exercise for Swindon.
Things got even worse 10 minutes into the second half when top scorer Rory Fallon was sent off for a second bookable offence.
The big New Zealander clashed with Scunthorpe's centre-back Richard Hinds for the second time in as many minutes and the referee had no choice but to give him his marching orders.
However, 10 man Swindon then seemed to up the ante and began to finally attack the Scunthorpe defence.
They were rewarded on 78 minutes when Roberts calmly converted a penalty after Ian Baraclough was penalised for handball.
The decision came just seconds after Ricky Shakes had put the ball in the net for a Swindon equaliser but the referee persisted in giving the spot-kick.
Swindon then almost stole all three points when Hameur Bouazza outpaced half the defence only to skew a left-foot shot wide.