Salop, who had lost their last six games heading into this clash, won 3-2 to inflict a second League One defeat of the season on Blues.
Town made a steady start to the game as they nullified high-flying visitors.
It was the third meeting of the two teams after the Blues had been victorious in pre-season and the EFL Trophy – scoring six goals without a reply from Town.
But in the first 30 minutes, they limited Chris Davies’ promotion hopefuls to just one opportunity as Willum Willumsson cut in from the left side only to hit the ball into the side netting.
Town, who were playing in a different 4-3-1-2 formation, were energetic and made life very difficult for their big-spending opponents.
And they were rewarded for that start when they took the lead just past the half-hour mark.
It came from a set piece as Mal Benning’s deep cross to the back post was headed back into play by Tom Bloxham and Aaron Pierre was there to volley the ball into the net as the Croud Meadow erupted.
The performance Town had put in was demonstrated by Davies going to his bench in the 34th minute to withdraw Keshi Anderson for Lyndon Dykes.
Salop doubled their lead moments later though with a brilliant breakaway goal. Bloxham’s cross was scuffed by Leo Castledine, but it fell to John Marquis at the back post, who eventually, smuggled it over the line.
Blues had not threatened, but they halved the deficit before the break when Tomoki Iwata slotted home with his left foot.
Salop have struggled in the second half of games this season, but they went so close to regaining their two-goal advantage when Marquis curled the ball onto the crossbar.
But minutes later, they did add a third. Marquis was instrumental again. He broke away before squaring the ball to Bloxham, who somehow managed to force the ball over the line past Ryan Allsop.
Taylor Perry limped off just past the midway point of the second half as Ainsworth introduced Jordan Rossiter.
Blues got a goal back when Jay Stansfield converted from the penalty spot when Rossiter was penalised for handball.
Davies’ side piled on the pressure in the closing moments of the game as they searched for an equaliser.
Somehow, 11 minutes were added on at the end of the game as Town tried to hold off Blues, and they clung on.
TEAMS
Shrews: Savin, Hoole, Pierre, Nsiala (Nurse 89), Benning, Winchester (Shipley 80), Perry (Rossiter 71), Gilliead, Castledine, Bloxham (Lloyd 89), Marquis.
Subs not used: Young, Lloyd, O’Reilly, Sagoe Jr.
Blues: Allsop, Laird (Leonard 54), Klarer, Bielik (Yokoyama 88), Cochrane, Iwata, Paik, Willumsson, Harris (May 54), Anderson (Dykes 34), Stansfield.
Subs not used: Peacock-Farrell, Davies, Gardner-Hickman.