Town 1 Swindon Town 3
FT: Swindon 2 Shrewsbury 1
Shrewsbury Town, with caretaker-manager Mike Jackson at the helm for the first time, suffered heartache with two late Swindon goals sealing an undeserved win for the home side.
The visitors dominated large chunks of the action after the break with Asa Hall, Jon Taylor, Paul Parry and Tom Eaves all seeing golden chances go begging at a side with one of the best home records in League One.
But with time almost up, substitute Nile Ranger headed in after Shrewsbury failed to clear a corner and then more poor Town defending allowed Charlton loanee Michael Smith to gobble up his second and Swindon's third on his debut.
The scoreline was level at the break, as the teams battled driving rain and swirling wind. Shrewsbury's goal was a peach with Paul Parry blasting in a brilliant shot from 25 yards after a short free kick by Taylor. It came with just two minutes of the half remaining and was thoroughly deserved for the Welshman, recalled to the starting XI, and it sparked huge scenes of celebration from the players and visiting bench.
It was also the perfect response to falling behind on the half hour when Smith prodded in the opener after some slack Town defending. The visitors failed to clear a short corner and after the ball bobbled around in the area, he knocked it past Chris Weale from close range for a poachers finish.
Jackson promised before kick-off a more attacking edge and the visitors certainly showed signs of that in the opening 45, and after frustrating the home fans early on, they had their first real chance.
Eaves held the ball up well on the edge of the box, Dave McAllister laid the ball off to Taylor whose first time fierce effort from inside in the area was beaten away by 'keeper Wes Foderingham for a corner.
The half ended with Parry's brilliant goal, but Alex Pritchard nearly put the home side back in front just before the whistle when Weale spilled his shot and just about managed to claw it away to safety with Smith ready to follow up.
Shrewsbury were on the backfoot in the opening stages of the second half, but after a scrappy start, they had a golden chance to put their noses in front close to the hour when Taylor blasted well wide when unmarked from inside the area, but the ball hit the head of McAllister and it flew over the bar.
From there on in, Shrewsbury were the better side and created a host of chances.
The best fell to Asa Hall whose free header from six yards came back off the crossbar after pinball in the box, and the midfielder was left with his head in his hands when McAllister screwed the follow-up well wide. It proved to be a real let off for the home side.
As the rain relented, Shrewsbury continued to dominate proceedings and Parry let fly with an audacious shot which Foderingham did brilliantly to get the merest of touches to, pushing it onto the right hand post and away for a corner.
The game was there for taking for both sides with 20 minutes remaining and this time Massimo Luongo nearly notched a Swindon second, but sent a fizzing 25 yard shot just wide of Weale's post.
Jackson's first change arrived with 17 minutes remaining, with the hard-working Fraser Fyvie withdrawn after a solid debut, and the fit again Jermaine Grandison was introduced to the action at right-back with Ryan Woods switched to midfield.
Another chance went begging with a quarter of an hour left, when Eaves capitalised on a mistake at the back, but with only Foderingham to beat, the Bolton loanee could only send his shot straight at the 'keeper who was able to smother it around the post for a corner. It was an opportunity he should have buried.
Shrewsbury were made to regret those missed opportunities when Swindon notched those two late goals. Weale failed to clear a Pritchard corner and Ranger rose to meet the ball with a looping header. Salt was then rubbed into wounds in stoppage time when more hesitant defending allowed Smith to break free and slide his shot into the net.
Jackson introduced Celtic loanee Bahrudin Atajic and Sidney Schmeltz late on to rescue the game, but Swindon ran out winners despite a much improved Shrewsbury performance.
TOWN (4-1-4-1) Chris Weale, Ryan Woods, Connor Goldson, Tamika Mkwandawire, Joe Jacobson, Fraser Fyvie (Jermaine Grandison 74) , Paul Parry (Sidney Schmeltz 90), Dave McAllister, Asa Hall, Jon Taylor, Tom Eaves (Bahrudin Atajic 90)
SUBS: Jon Anyon, Tom Bradshaw, Alex MxQuade, Dave Winfield
SWINDON: Wesley Foderingham, Nathan Thompson, Nathan Byrne (Nile Ranger 60) Massimo Luongo, Ryan Mason (Ryan Harley 18), Alex Pritchard, Jay McEveley (Jamie Reckford 48) Yaser Kasim, Darren Ward, Michael Smith, Raphael Rossi-Branco
SUBS: Tyrell Belford, Louis Thompson, Jack Barthram, George Barker
BOOKINGS: Luongo (65)
ATT: 7448 (visiting 227)
REF: T Kettle