A brave Brandon Hanlan header early on set the tone for a feisty night under the lights in Shropshire as both sides provided real threat.

Close calls from Leon Clarke and Dan Udoh would scare the Gas in both periods, but Garner’s side held firm to secure the three points on the road.

Ben Garner opted to repeat his team selection from the last three league ties, naming an unchanged line-up from the weekend’s 1-1 draw against Burton Albion. One change came on the bench, with Leahy replacing Mitchell-Lawson.

The Gas started brightly in Shropshire, snuffing out early Shrewsbury counter-attacks before making a clear cut chance for themselves on the 8th minute. Max Ehmer latched onto a dinked ball on the left side of the area before flashing a left-footed cross at waist height across the goal. Josh Grant was on hand to get the touch but deflected the venomous cross just past the post.

4 minutes later, Leon Clarke found the bottom right corner for the Salops, but looked across the line to see the linesman with his flag raised high, which prompted the quick conclusion of his celebrations. It remained 0-0.

On the quarter-hour mark, Rovers found the net, and this one counted! A fizzed left-sided delivery from Zain Westbrooke picked out the superb run of number 9, Brandon Hanlan. The striker leaped high and got a crucial head on the ball, knocking it into the net before being wiped out by goalkeeper, Deyan Iliev.

After receiving some treatment, Hanlan was deemed okay to continue, with the lead as well as his health intact. His brave finish making it 3 in 4 league games for the striker.

A moment of concern came shortly afterward, as Golbourne went down under an evenly contested challenge with Josh Hare. Prompting some worry, he remained on the deck for some time, with the stretcher waved on to aid his treatment. In the end, the left-back didn’t need it but limped off the pitch clutching his chest, replaced by Jan Zamburek.

With just over 30 minutes gone, Clarke went close for the Salops, the former-Sheffield United man looking a real threat for the home side. A neat through ball saw the striker latch onto it on the edge of the box, stabbing a first-time effort towards goal, but saw it roll narrowly wide of the right post.

The Salops had another sight goal before the half concluded, with Leon Clarke once again the shot-taker. Zamburek hit a delightful cross from the left-flank, floated towards Clarke who’d evaded the defence of Tutonda. He flicked the header towards the goal but saw it ricochet off the post, before Jaakkola laid claim to the loose ball.

The half was punctuated by injuries, and the seven minutes added on at its end reflected this, with Rovers on the back foot towards the half’s conclusion.

However, it was Rovers who would go close during added time, with a clever quick free-kick picking out the reactive run of David Tutonda on the left side. He controlled the ball well, before attempting to stab the ball past Iliev, but the North Macedonian did well to rush out and smother the strike.

It would remain 1-0 at the halfway stage.

Josh Hare went close before the 50th minute in a similar fashion to how he did against Northampton Town. Westbrooke spotted his run towards the edge of the area at a corner and promptly played him in. Hare took it first time, curling a strike towards the bottom left, which Iliev did well to parry clear.

With 54 gone, Cummings drilled an inviting left-footed strike across goal from the left apex of the box. Dan Udoh stretched for the ball at the far post but saw it go narrowly past his foot, and past the post.

Josh Grant went into the book for a late challenge on Zamburek moments later.

Udoh was set in around the hour mark by a looped ball towards the edge of Jaakkola’s box. However, the Fin was alert to the danger and rushed out well, getting a vital tackle in before a deflection off Udoh took it wide for a goal-kick.

The Salops really had the momentum at this point, with a pull-back across the box finding Jan Zamburek towards the right side of the area. The Czech struck it first time but found the crucial touch of captain Max Ehmer off the line. He seemed to know little about it, but did just enough to deflect clear.

Up the other end, Josh Hare carved out a chance of their own. He cut in onto his weaker left foot before curling an effort towards the bottom corner. It looked to be goalbound, but for the vital touch of Brad Walker took it narrowly wide of the net.

On the 65th minute, Harries was adjudged to have deliberately handled the ball and received a caution for the incident.

5 minutes on, Udoh was causing problems again, much more in the game than his first-half self, and was unleashed by a neat ball through the lines from the right side. He darted towards it but saw the onrushing Anssi Jaakkola who did well to get enough on the ball, before claiming the deflection.

With 10 to play, Rovers had a resurgent move, with Westbrook laying in Nicholson on the left. The Scotsman took a touch to set himself before leathering one goalwards, but saw his effort climb and climb above the frame of the goal.

Nicholson was picked out in space with a matter of minutes to play before laying it wide to Brandon Hanlan. The pacey forward took a touch before smashing one on goal, but struck it straight at Iliev, who strongly palmed it clear.

With that strike saved, the fourth official lifted the board to signal four minutes for the Gas to hang on, which they did to secure an impressive three points on the road.

Another away trip awaits the Gas on Saturday, with Garner’s side heading to Accrington Stanley.

Bristol Rovers: Anssi Jaakkola, Cian Harries, Max Ehmer (c), Jack Baldwin, David Tutonda, Josh Hare, Josh Grant, Zain Westbrooke (Ed Upson 88′), Luke McCormick (Erhun Oztumer 71′), Brandon Hanlan, James Daly (Sam Nicholson 71′).

Subs: Jordi Van Stappershoef, Alfie Kilgour, Cameron Hargreaves, Luke Leahy.

Shrewsbury Town: Deyan Iliev, Aaron Pierre, Scott Golbourne (Jan Zamburek 19′), Oliver Norburn (c), Josh Vela, Leon Clarke, Brad Walker (Josh Daniel 87′), Daniel Udoh (Shilow Tracey 80′), Ethan Ebanks-Landell, Scott High, Jason Cummings.

Subs: Harry Burgoyne, Ro-Shaun Williams, Ryan Barnett, Charlie Caton.