Rovers fell to defeat in Shropshire on a frustrating afternoon which had seen them force home goalkeeper Max O’Leary into a number of good saves and rattle the woodwork before being hit by a late goal.
O’Leary had to scramble to turn away second-half efforts from Ben Whiteman, Cameron John and Madger Gomes, while Jacob Ramsey also saw an effort come crashing back off a post.
But Dave Edwards headed home from Callum Lang’s cross after 78 minutes to ensure Sam Ricketts’ Shrews claimed all three points.
Rovers boss Darren Moore made two changes to the starting XI, with Devante Cole replacing the suspended Fejiri Okenabirhie and James Coppinger coming back into the starting XI at the expense of Matty Blair. Alex Baptiste also returned to the matchday squad for the first time since injuring an Achilles in only his second start for the club back in August.
Windy conditions hindered both sides in the opening periods, with Ethan Ebanks-Lendell sending a tame header into the hands of Seny Dieng after three minutes and Niall Ennis heading wide from Coppinger’s right-wing cross with 15 minutes on the clock.
Lang had an effort blocked for the Shrews after 20 minutes and Josh Vela fired the rebound over. Ben Sheaf had an opportunity to build on his goal against Gillingham a week earlier when Ramsey found him in space just before the half-hour mark, but his right-footed effort curled just over the crossbar. Rovers had an opportunity in stoppage time, but Ramsey’s left-footed effort was too close to O’Leary to test hm.
The second period started much brighter than the first, with Josh Laurent sending an effort high and wide for the home side quickly after the restart.
Rovers settled quickly and it took a stunning save from O’Leary to prevent Whiteman opening the coring with a curling effort which looked destined for the top right corner.
The visitors had started the second period brightly, and Ramsey saw an effort clip the outside of the woodwork after 54 minutes through a great move which started with Coppinger keeping the ball in play close to his own byline. The move involved Halliday, Cole and Coppinger again before Sheaf flicked the ball on to Ramsey whose right-footed effort had O’Leary beaten but clipped the outside of a post before bouncing back into play and being cleared.
Whiteman will have felt he should have done better from a free-kick after 57 minutes, it was a few yards outside the area but the midfielder’s shot did not beat the wall.
Dieng had to be alert after 59 minutes to turn away a low driven effort from Conor McAleny as he was called into significant action for the first time in the match.
Chances continued to come for Rovers, although none as clear as those for Whiteman and Ramsey earlier in the half, with Sheaf curling an effort wide and seeing an header from a Coppinger corner cleared after it had got past O’Leary.
The home side had a great opportunity to go ahead after 74 minutes with a central free-kick of their own, but Josh Laurent’s curling effort ended up sat on the roof of the goal.
Four minutes later they made no mistake, though, with some good movement down the right wing before Lang crossed to the far post where Edwards headed home. Wright managed to get a boot to the effort, but there was not enough contact to keep it out. That boosted the Shrews, with Lang smashing an effort over shortly afterwards.
Rovers pushed to get something out of the game, but O’Leary was equal to everything they could throw at them. A good move saw the ball move from the right, with Whiteman’s defence-splitting pass finding John but the on-loan Wolves man’s effort would not squeeze past O’Leary.
And the last stop O’Leary was forced to make came when Gomes, on as a late substitute for Rovers, let fly with a low effort from distance which was palmed away to ensure the home side took all three points.