An Adam Armstrong double - one of which was a dramatic, late winner - ensured Rovers grabbed a priceless three points at Portsmouth on Tuesday night.
A strike in each half from the loanee were both predatory finishes, with his second coming just three minutes from time.
His goals sandwiched a fortunate Pompey equaliser through Conor Chaplin's header just after half time, but the 800+ visiting supporters were sent home happy.
But the fans were made to sweat late on after Lewis Travis received a straight red for a lunge on Nathan Thompson.
Boss Tony Mowbray made two changes to the side that drew against Oldham for the trip to Fratton Park.
Heading out of the side were Amari'i Bell and Danny Graham, with Armstrong and Dominic Samuel coming into the XI.
Both Bell and Graham took their place on the bench, alongside the returning Darragh Lenihan.
The inclusion of the Irishman resulted in Paul Caddis dropping out of the squad, and Mowbray kept the faith with Travis, who was part of the squad.
Hosts Portsmouth welcomed back Christian Burgess back into their side, after the defender missed out on the weekend win at MK Dons.
Home striker Chaplin earned a start after bagging a 90th minute winner at Stadium MK at the weekend.
Just four minutes into the game and Rovers had a glorious chance to take the lead, but after Jack Payne found the returning Samuel, the striker saw Luke McGee out quickly to block his attempt.
At the other end, Dion Donahue saw his bouncing volley test David Raya in a lively opening 10 minutes.
Just 20 minutes in and a wicked Charlie Mulgrew free kick glanced off the head of Matt Clarke and went wide just a moment before Rovers did take the lead through Armstrong’s sweet finish from close range.
The resulting corner kick wasn’t cleared by the home side and dropped perfectly for Armstrong, who rifled past McGee and into the back of the net.
The hosts responded and Bradley Dack had to be alert to block a goal bound effort from Chaplin.
A weaving run from Brett Pitman saw him beat Ryan Nyambe, Richie Smallwood and Paul Downing but not Raya, who smothered his tame effort on the half hour mark.
A moment later and Gareth Evans poked a Donohue cross over Raya’s upright as the hosts started to probe a little more.
Pitman was next to be wasteful as he slashed an effort high and wide when well placed, before Evans again went close for the home side after a whipped Jamal Lowe cross found him at the near post, but Raya was alert to stop his toe poke from troubling his goal.
On the stroke of half time, Anton Walkes let fly and saw his low, curling effort fly a whisker past Raya’s right-hand post as the chances continued to come for Pompey.
But Rovers defended well enough and went into half time in command and leading.
After the break, Rovers came out searching for that second goal and Dack went close to adding to the tally, but saw his long range drive fly just wide.
But sloppy play allowed the hosts to get back in the game.
A hopeful ball into the box was dropped by Raya, Pitman hoisted the ball back in and his partner in crime Chaplin was there to easily score from close range with a header.
Portsmouth’s tails were up at this point and after Raya again came an missed his kick, Pitman could only curl wide of the target from range.
The incident led to the impressive Nyambe being clattered into by Raya and the Namibian full back had to be replaced.
That led to a defensive reshuffle, with Lenihan making his return to first team action in replacing the young defender.
Travis also entered the game as he replaced Payne, as Mowbray opted to go with a back three of Lenihan, Paul Downing and Mulgrew.
Travis slotted into central midfield, looking to replicate his excellent display in that position against Oldham just a few days earlier.
As Rovers adjusted to the revised system, Dack tested McGee, before a whipped Mulgrew corner nearly caught our the Pompey ‘keeper, who was forced to beat away the strike.
With 15 minutes to go, Walkes lashed an effort from an acute angle wide of the post before Armstrong’s cross just evaded the back post just a minute later.
Rovers were improving though and a superb Mulgrew delivery needed just a touch from someone to find the net, but his ball in just evaded both Downing and Lenihan at the back post.
But a moment later and Armstrong completed his brace to produce jubilant scenes from the 884 Rovers fans in attendance.
A risk-taking run from Lenihan saw the Irishman rampage forward, and after trying to force the ball into the box, it took a deflection and fell perfectly for Armstrong who smashed home off the post with three minutes to go.
Rovers had to hold firm and their cause wasn’t helped when Travis was sent off for a cynical challenge late on. But they held on for a vital win on the south coast in chilly conditions.
Rovers are next in action on Monday night when Bury visit Ewood Park.
Portsmouth: McGee, Walkes, Burgess, Clarke, Donohue, Evans, Close, Thompson, Lowe, Chaplin (Hawkins, 84), Pitman (c).
Unused substitutes: Bass, Deslandes, May, Naismith, Ronan, Kennedy.
Goal: Chaplin, 49
Booked: Thompson, 29
Rovers: Raya, Nyambe (Lenihan, 55), Downing, Mulgrew (c), Williams, Smallwood, Bennett, Payne (Travis, 55), Dack, Armstrong, Samuel (Graham, 81).
Unused substitutes: Leutwiler, Bell, Evans, Conway.
Goal: Armstrong, 21, 87
Booked: Dack, 2
Sent off: Travis, 90.
Attendance: 18,152 (884 away)
Referee: Oliver Langford