Shrewsbury were positive from the first whistle and their early enterprise was quickly rewarded with a fine goal from left-sided midfielder Adam Reach, just nine minutes into his debut on loan from Middlesbrough.
Reach, an England under-20 international, dispossessed defender Grant Hall on the halfway line and powered forward before keeping his cool to fire past the advancing Wes Foderingham to the corner of the net.
Reach almost scored again two minutes later but his looping header from Paul Parry’s cross sailed just wide.
Joe Jacobson was then just off target with two long-range drives while Swindon made little impression going forward, a Ryan Harley 20 yarder straight at Chris Weale early in the second half the only time the Shrewsbury goalkeeper was seriously extended.
Shrewsbury continued to look dangerous and after Akwasi Asante fired wide with just the keeper to beat, substitute Tom Bradshaw made sure of the points five minutes from time.
Showing good determination to barge Nathan Byrne off the ball, Bradshaw beat Foderingham at his near post for his first league goal for 22 months.