The away side were dominated for large parts of the game but caught Bradford napping at the start of the second period.
Midfielder Grant Smith was the man who did the damage with two sweet strikes - the first just 30 seconds after the restart. The ball came to him at the edge of the area and he struck a crisp side-foot volley into the right hand corner of Paul Henderson's goal.
City hardly had a touch before it was two. This time Smith linked well with striker Sam Parkin before drilling his shot into the same corner.
A stunned Bradford should have pulled one back straightaway but Mark Bower put his header wide from just six yards out.
Leading scorer Dean Windass did pull one back after 56 minutes. The City striker notched his 13th goal of the season when he directed his side-foot shot past the despairing dive of Rhys Evans.
The first half gave little indication of the excitement that was to follow in the second. Although Bradford controlled the play they created few clear-cut chances.
The Bantams pushed hard for the equaliser and were guilty of wasting a hatful of chances.
Windass put two headers narrowly wide and saw a third superbly saved by Evans at point-blank range.
The home side also felt they should have had a penalty when winger Nicky Summerbee appeared to be hauled down in the Swindon box, but the referee angered the home fans by waving play-on.
Zema Abbey did have the ball in the net but the linesman said the ball had crossed the dead ball line first.
Despite having Jerel Ifil sent-off with 15 minutes left to play Swindon dug in to claim all three points.