A resounding second half display from Rovers saw them come from behind to defeat Millwall 2-1 at the Den.
Karleigh Osborne had given the home side the lead at the break, firing home from close-range inside the quarter hour.
Rovers ended the first half strongly, only fingertips from David Forde prevented David Jones from levelling, but once Gary Bowyer's side stepped it up in the second half the Lions had no answer.
Another thunderbolt from Jones was kept out by Forde, but the midfielder would find the back of the net on 56 minutes as his inswinging corner came off James Henry and crept in at the near post.
David Dunn then forced Forde into another fantastic save, the Irishman denying the Rover with a one-handed stop.
Eventually the pressure told and Rovers grabbed the all-important second goal on 78 minutes.
It was a goal that was made in Scotland as defender Grant Hanley stole the ball on the edge of his own area before embarking on an amazing run foward that was only halted in the Millwall penalty area and illegally.
Jordan Rhodes had the responsibility on his young shoulders but he made no mistake, stroking the ball into the bottom left corner with Forde diving in the opposite direction.
Rovers had to withstand late pressure from the home side as they looked for a way back into the game, but after some eight additional minutes were played the whistle indicated a huge win.
A win over Crystal Palace on Saturday will ensure Rovers will be in the npower Championship next season.
Rovers made three changes for the second trip to the Den this season. With Grant Hanley and Colin Kazim-Richards available after suspension they went straight back into the starting eleven, replacing the injured Gael Givet and the suspended Leon Best.
The other change saw Josh Morris preferred to Joshua King who dropped the the bench.
Inside two minutes Rovers threatened the Millwall goal, a David Dunn free-kick into the area saw Jordan Rhodes nod towards Colin Kazim-Richards but his overhead kick was blocked, Josh Morris raced in to shoot but his effort was also cleared.
Unfortunately for Rovers Kazim-Richards landed heavily in attempting to score, the striker needing treatment on a shoulder injury.
Ten minutes later another challenge saw the striker's shoulder dislocate which meant a premature end to his game.
Rovers were still a man down when the home side took the lead soon after, a free-kick to the back post was knocked back by Mark Beevers, Scott Dann couldn't get enough on his clearance and Karleigh Osborne turned and lashed home from six yards out.
David Goodwillie came on to replace Kazim-Richards as the match restarted.
Following the goal the home side had an extended spell of pressure as they looked to get a second goal quickly, Grzegorz Sandomierski having to tip over a James Henry shot before a Jermaine Easter effort was comfortable claimed by the Polish international.
The final 15 minutes saw Rovers press the Lions back but whilst they just couldn't find a way through it wasn't for the want of trying.
A deft lob from David Dunn saw Todd Kane get in behind but David Forde claimed his shot before lovely attacking play saw Markus Olsson find Dunn who advanced to the edge of the box only to see his shot go over the bar.
The last chance of the half was Rovers' closest, David Jones letting fly with a sweet left-footed effort, but Forde at full stretch got his fingertips to the ball to deny Rovers.
A second change was made by Gary Bowyer at the start of the second half as Josh King replaced Markus Olsson due to a hamstring strain.
The visitors continued in the manner that they ended the first 45 with David Jones again testing David Forde with a thunderbolt from distance.
Rovers were forcing the pace, all they needed was the equaliser and inevitably it was Jones who played a key role when it came on 56 minutes.
As the midfielder fired a corner over from the right the ball struck James Henry at the near post and flew into the back of the net, it was nothing more than Rovers deserved.
With the bit firmly between their teeth Rovers went in search of a goal that would see them turn the match around. David Dunn tested Millwall once more but Forde's fantastic one-handed save denied the midfielder.
Millwall boss Kenny Jackett responded by taking off both forwards as Shaun Batt and Josh Wright replaced Jermaine Easter and Rob Hulse but it was Rovers who kept pressing, Josh King firing wide with a left-footed strike.
On 76 minutes Grant Hanley intercepted a Millwall attack and with the wide open spaces of the Den in front of him the Scottish international embarked on the sort of run that wouldn't have looked out of place at Murrayfield as the defender charged 60yds upfield before being tripped in the Millwall penalty area.
After a lengthy delay in which Danny Shittu, David Forde and David Dunn were all carded, Jordan Rhodes stepped up and despite the white hot atmosphere he cooly slotted home to put Rovers in front.
Millwall threw everything at Rovers as they looked for a way back into the game in the closing stages.
Five additional minutes were shown but these were quickly extended when David Dunn was stretchered off with a gash on his ankle.
Danny Shittu and even goalkeeper Forde were employed as makeshift forwards in the final throes but Rovers held on to claim a hugely valuable three points.
Tempers flared as the players left the pitch with Millwall captain Shittu seeing red for dissent.
A win on Saturday against Crystal Palace will see Rovers safe for sure and avoid any last day worries.
MILLWALL: Forde, Dunne, Shittu (c), Hulse (sub Wright 72 mins), Henry, Feeney (sub Keogh 77 mins), Beevers, Smith, Abdou, Osborne, Easter (sub Batt 72 mins).
Subs not used: Taylor (GK), Woolford, Malone, Saville.
Goals: Osborne 14 mins.
Booked: Batt, Forde, Shittu.
ROVERS: Sandomierski, Kane, Dann (c), Hanley, Markus Olsson (sub King 46 mins), Dunn (sub Orr 90+4 mins), Jones, Williamson, Morris, Kazim-Richards (sub Goodwillie 16 mins), Rhodes.
Subs not used: Usai (GK), Pedersen, Murphy, Nuno Gomes.
Goals: Henry (OG) 56 mins, Rhodes (pen) 78 mins.
Booked: Hanley, Dunn.