Lucas Jutkiewicz and Christian Roberts got the goals as League Two leaders Walsall suffered a first home loss of the season to promotion rivals Swindon.
After Sofiane Zaaboub had cleared Chris Westwood's effort off the line, Swindon took the lead, Jutkiewicz slotting in his first senior goal with aplomb.
Roberts then hammered in a penalty after Scott Dann had fouled Jutkiewicz.
The win was no more than the visitors deserved, earning new manager Paul Sturrock a fifth win in six games.
Walsall: Ince, Westwood (Gerrard 75), Dann, Roper, Taylor, Mark Wright (Sam 46), Dobson, Kinsella (Pead 60), Fox, Butler, Tommy Wright.
Subs Not Used: Bossu, Bedeau.
Swindon: Phil Smith, Jack Smith, Williams, Ifil, Vincent, Brown (Pook 72), Timlin, Weston, Zaaboub (Nicholas 85), Roberts (Shakes 81), Jutkiewicz.
Subs Not Used: Stewart, Sturrock.
Goals: Jutkiewicz 23, Roberts 69 pen.
Ref: R Beeby (Northamptonshire).