Doncaster Rovers failed to make it a fifth successive League One victory but still earned the praise of manager Dean Saunders.
Their point at one of their promotion rivals extended Swindon’s poor run at home to one win in nine.
Matt Ritchie opened the scoring for the home side with his eighth of the season in the eighth minute. Williams got the better of Rob Jones down the left and squared the ball back for Ritchie, who made no mistake from around 10 yards.
The lead at the County Ground lasted just two minutes, though. Bennett and Harper combined to get Husband away down the left and his low cross into the area was put past his own goalkeeper by Robins midfielder Danny Hollands.
There was a let-off for Rovers on 37 minutes when Holland hit the bar with a header with Woods beaten.
Swindon could have won it but Chris Martin and Andy Williams were both denied by the woodwork.
In the second half, however, Paolo di Canio’s men found goalkeeper Gary Woods in inspired form and failed to find a way past.
Rovers manager Saunders, who saw striker Iain Hume soldier on with a bandaged head after the break, admitted: “We got battered at times, but we dug in and once again we’ve come out with a draw.
“We’ve got something out of the game when we weren’t anywhere near our best and my defenders were outstanding.
“The bar and post got us out of trouble and the goalkeeper played well and that’s the most he’s ever had to do this season.”
Swindon Town: Foderingham, Louis Thompson, Flint, Ward, Devera, Ritchie, Bostock, Hollands (Ferry 72), De Vita (Roberts 74), Williams, Martin (Collins 64). Unused substitutes: Bedwell, Archibald-Henville, Storey, Rooney.
Doncaster Rovers: Gary Woods, Quinn, Rob Jones, Spurr, Husband, Bennett (Clingan 53), Harper (Martis 67), Keegan, Cotterill, Brown (Griffin 85), Hume. Unused substitutes: Maxted, Blake, McCombe, Ball.
Referee: D Phillips (West Sussex).
Man of the match: Gary Woods.