A second-half Josh Coburn goal wasn't enough for Rovers as they fell to defeat in Shropshire.
Rovers made a solitary change to the line-up following Saturday's 0-0 draw at Peterborough; in for the Shrewsbury game came John Marquis, in place of the League One Player of the Year Aaron Collins.
Shrewsbury, without a win in eight games, took the lead after just two minutes. Lewis Gibson had initially done well to block a close-range shot from Street. From the resulting corner, the Gas were caught napping and former Rovers player Luke Leahy rose unchallenged to power home a header.
Rovers had a chance to level in the 17th minute, but Ward's goalbound shot was deflected behind and Shrewsbury cleared the corner.
Another chance came the visitors' way after 20 minutes, but Loft's header from Gibbons' precise cross went just over the bar.
Coburn was appealing for a penalty after 24 minutes, but referee Swabey awarded a free-kick on the edge of the area, and booked Dunkley for the push on the striker. Finley's strike was on target, but hit Leahy and went behind for a corner, which the home side cleared.
Great wing play from Grant Ward after 29 minutes almost presented a tap-in for Coburn, but the ball was nicked off his toe for another Gas corner.
Late in the half, Coburn wanted a penalty after a coming together in the box, but Swabey was unswayed.
Rovers had enjoyed large chunks of possession, but couldn't turn them into meaningful chances, and went in a goal behind at the interval.
There were no half-time substitutions for Rovers. Once again, the visitors were dominating possession, but once again they paid the price as Street raced onto a ball into the area and fired low beyond Balcombe to put the Shrews 2-0 up in the 54th minute.
Joey Barton had seen enough and responded with five substitutions. On came Collins, Evans, Hoole, Macdonald and Sinclair for Loft, Marquis, Bogarde, Gibbons and Gordon.
Luca Hoole was immediately in the action, picking up a yellow card for a foul before he had touched the ball.
In the 66th minute, Macdonald whipped a dangerous free-kick into the box, but it was deflected behind. From the corner, Quansah's header drifted wide.
Rovers were back in the game after 70 minutes, when Coburn headed home from close range after Sinclair's cross bounced off the crossbar. In the aftermath, the striker collided with the post, sustaining a hand injury.
The striker almost equalised moments later, but the legs of goalkeeper Marosi kept his shot out after Collins had cut through the home defence to tee him up.
Luca Hoole got on the end of a Lewis Gibson cross but couldn't keep his header down and another Rovers chance went begging.
Ward stung the palms of Marosi as the clock ticked down with a piledriver from distance, but the Gas had to settle for a narrow defeat.
Next up for the Gas is the final game of the season, at home to Bolton Wanderers in Sky Bet League One, on Sunday May 8th, kick-off 12pm.
SHREWSBURY: Marosi, Leahy (c), Moore, Winchester, Phillips, Bowman, Street, Bennett, Dunkley, Shipley, Flanagan.
Subs: Burgoyne, Pyke, Bloxham, Craig, Barlow
ROVERS: Balcombe, Gibbons (Hoole 55), Quansah, Gibson, Gordon (Macdonald 55), G Ward, Borgarde (Evans 55), Finley (c), Marquis (Sinclair 55), Loft (Collins 55), Coburn.
Subs: J Ward, Connolly, Sinclair, Collins, Macdonald, Evans, Hoole.
Attendance: 5,949 (748 away)