A topsy-turvy encounter saw Rovers go 2-0 up before drawing at home to Birmingham City at a cold, wet and windy Ewood Park.
Danny Graham handed Rovers the lead at the break before Adam Armstrong added to the tally just seconds into the second half.
But Birmingham battled back, with Craig Gardner's penalty giving them hope just a moment before Che Adams levelled things up for the visitors late on.
Rovers did enough to win the match, but they could have lost it late on against a side who looked dangerous in the dying embers of the clash.
Amari'i Bell came back into the XI in place of Derrick Williams at left back, whilst Darragh Lenihan returned to the heart of defence, with Paul Downing dropping to the bench.
In horrid conditions, it was Rovers who grabbed the early advantage as the man with the golden touch at Ewood, Graham, headed home 19 minutes into the encounter.
A simple free kick into the box from Harrison Reed saw Graham escape his marker and plant a header past Lee Camp to bag his fourth goal in his last two outings on home turf.
Rovers' tails were up with the half an hour mark approaching and Bradley Dack sliced wide after a neat tee up from substitute Adam Armstrong, who had come on in place of the injured Craig Conway earlier in the half.
The visitors finally mustered an opportunity, and David Raya was equal to Che Adams' low strike just a moment later.
Soon after and former Rover Connor Mahoney cut in from the right before curling towards Raya's right-hand post, but the strike was sent just wide of the target rather than nestling into the back of the net.
Adams was proving to be a nuisance for Rovers, and it took an excellent block from Richie Smallwood to take the sting out of the striker's attempt at goal after a nice ball from Jacques Maghoma.
Garry Monk's side ended the half the better, but it was Rovers who went in with the advantage at the break thanks to Graham's header.
And things got better for the hosts just 50 seconds into the second half as Armstrong lashed home from an acute angle to double the home side's tally.
It was almost 3-0 just moments later, but a venomous Harrison Reed strike saw Camp produce an outstanding save to paw the effort behind for a corner kick.
Rovers were looking comfortable, but with 14 minutes remaining, Raya brought down Maxime Colin in the box and substitute Craig Gardner stepped up to slam home the penalty.
Rovers responded and Ben Brereton saw his strike blocked excellently before the visitors equalised through Adams.
A low ball from the left from Lukas Jutkiewicz found his strike partner, who was there to tap home at the back post and level things up.
Both sides could have won it by the end, but it ended all square, and you'd feel Rovers will have seen this one as a missed opportunity against Monk's men.
Rovers: Raya, Nyambe, Lenihan, Mulgrew (c), Bell, Smallwood, Evans, Reed, Dack, Conway (Armstrong, 18), Graham (Brereton, 70).
Unused substitutes: Leutwiler, Williams, Rothwell, Downing, Palmer.
Goals: Graham, 19, Armstrong, 47
Booked: Smallwood, 90
Birmingham City: Camp, Pedersen, Roberts (Harding, 9), Colin, Kieftenbeld (C. Gardner, 56), Mahoney (Jota, 56), Adams, Jutkiewicz, Dean (c), Maghoma, G. Gardner.
Unused substitutes: Trueman, Bogle, Lakin, Dacres-Cogley.
Goal: G. Gardner pen, 78, Adams, 79
Booked: Adams, 73, C. Gardner, 90
Referee: Tony Harrington.
Attendance: 13,622 (2,066 away).