Swindon came from a goal behind to take the points against in-form Shrewsbury.
Leo Fortune-West's cool finish from 12 yards, after a fine Derek Asamoah back-heel, put the visitors ahead at the break.
However, Barry Corr's close-range stab and Christian Roberts' header, both from Sofiene Zaaboub corners, turned the result around for the Robins.
The defeat ends Shrewsbury's unbeaten run of 14 games, while Swindon stay in the hunt for promotion.
Swindon: Phil Smith, Jack Smith, Vincent, Nicholas, Ifil, Zaaboub (Timlin 82), Roberts (Brown 82), Peacock, Pook, Corr, Jutkiewicz (Sturrock 90).
Subs Not Used: Grimes, Gnakpa.
Booked: Nicholas, Ifil, Peacock.
Goals: Corr 67, Roberts 73.
Shrewsbury: MacKenzie, Hall, Drummond, Hope, Ashton, Langmead, Davies, Edwards (Mike Jones 78), Tierney, Asamoah (Symes 63), Fortune-West (Cooke 63).
Subs Not Used: Shearer, Burton.
Booked: Drummond, Cooke.
Goals: Fortune-West 40.
Att: 7,335.
Ref: M Haywood (West Yorkshire).