A dramatic Adam Armstrong goal ensured the striker returned to the top of the Sky Bet Championship scoring charts as Rovers made it three successive league wins with a narrow victory over Millwall at Ewood Park.
In a second half where chances were at a premium, Armstrong's strike took a deflection before finding the back of the net in the 90th minute.
Ryan Woods was the unfortunate man for the Lions, with Armstrong's attempt taking a nick off the midfielder to deceive Bartosz Bialkowski and win the game for Tony Mowbray's hosts.
It looked as if there would be a share of the spoils on a slick pitch, with Scott Malone's equaliser coming just 10 minutes after Harvey Elliott's first Ewood goal put Rovers ahead in style midway through the first half.
Neither goalkeeper was really tested in the second half before Armstrong struck to make it 15 goals from his 16 games in all competitions so far this season.
The boss made four changes to his side, with two of those enforced due to injuries picked up against Barnsley at the weekend.
Barry Douglas and Scott Wharton were the pair, with Amari'i Bell and Daniel Ayala returning to the starting XI to replace the duo, who were left out of the matchday squad.
The other alterations to the team saw Tom Trybull and Joe Rothwell drop to the bench to allow the physical presences of Bradley Johnson and Sam Gallagher to return to the team.
Rovers began the sharpest, and after the in form Armstrong saw his shot blocked, Elliott's follow up volley was beaten away by Bialkowski before Ben Brereton was adjudged to be offside as he looked to pounce on any scraps.
At the other end, Troy Parrott dragged a shot wide of Thomas Kaminski's goal before Shaun Williams, one of three changes for the Lions for the game, saw a dipping right-footed attempt land on the roof of the net.
However, Rovers didn't have to wait much longer to break the deadlock, with Elliott's stunner opening the scoring after what was a fairly even first 25 minutes.
Gallagher led the breakaway, and after Armstrong fed Liverpool loanee Elliott, the youngster he caressed the ball into the top corner with a first time strike to register his first goal at Ewood Park and second of the season.
But the advantage lasted just 10 minutes in a drizzly Lancashire, with Malone thundering home with his left foot after Jed Wallace's fine run opened the game up for the visitors who, having drawn the last five games, levelled things up once again.
Malone's strike ensured the sides went in all square, which was probably just about the fairest reflection of the first 45 minutes.
Rovers started the second half well enough, but lost Brereton just before the hour mark with a concerning knee injury following a challenge on him by Shaun Hutchinson.
Soon after and Lewis Holtby tried his luck from the edge of the box, but the German's strike took a nick off a Millwall man before flying a few inches past Bialkowski's left-hand post.
At the other end, Parrott's effort took the slightest of deflections to loop just over Kaminski's upright with the Belgian stranded with just under 20 minutes remaining.
It looked as if the game was going to peter out, but there was to be late drama and it went in Rovers' favour as Armstrong continued his red hot scoring streak with a 90th minute winner.
Substitute Joe Rothwell got Rovers upfield, his backheel fed Stewart Downing, who tried to work an opportunity but saw his shot blocked.
Luck would see the ball bounce Armstrong's way, and his rifled effort took a deflection off Ryan Woods, fly beyond Bialkowski and nestle into the back of the net.
The visitors threw on target man Matt Smith in a bid to grab a second equaliser, but Rovers withstood heavy pressure to preserve the win and earn a third successive victory in the Sky Bet Championship.
Next up is a trip to the Brentford Community Stadium to battle it out with Thomas Frank's Bees on Saturday, kick-off 3pm.
Rovers: Kaminski, Nyambe, Lenihan (c), Ayala, Bell, Johnson, Holtby (Rothwell, 73), Elliott (Buckley, 73), Gallagher (Downing, 73), Brereton (Dolan, 57), Armstrong (Trybull, 90).
Substitutes: Pears, Chapman, Davenport, Carter.
Goal: Elliott, 25, Armstrong, 90.
Millwall: Bialkowski, Wallace, Hutchinson, Williams (Leonard, 87), Wallace, Romeo (Skalak, 90), Malone, Pearce (c), Woods (Smith, 90), Bodvarsson (Thompson, 78), Parrott (Bradshaw, 78).
Substitutes: Fielding, Brown, Ferguson, Burey.
Goal: Malone, 35
Booked: Williams, 20, M. Wallace, 64
Referee: Michael Salisbury.