Walsall made it 15 league games without defeat but saw two points snatched away by a very late equaliser.
Played in non-stop driving rain, the game only went ahead because Rovers spent £45,000 in the week on a pitch cover.
They were left wondering whether it was worth it until substitute Craig Disley cancelled out Edrissa Sonko's goal with minutes to go.
Sonko's goal came 38 minutes into a first half dominated confidently by Walsall.
They were still without their injured attacking duo of Tommy Mooney and Michael Ricketts, but had an energetic spearhead in young Troy Deeney.
As defenders stood off he lifted an early shot a shade too high, collected a card for a hearty touchline tackle and was generally a trouble for the home side.
Rovers had an anxious few minutes when central defender Steve Elliott came off second best in a clash with him 40 yards from goal.
Elliott needed lengthy treatment for a leg injury and was still limping slightly half an hour later.
Walsall were kept moving forward by Michael Dobson's accurate distribution and backed by Reece Weston's attacking role at right-back.
Their breakthrough came when Lee Holmes got in behind Aaron Lescott down the left flank.
He dropped his cross perfectly in the centre of goal where Sonko's close-range header left Steve Phillips helpless.
Holmes almost set up a second goal before half-time when he crossed to the other side of the pitch to take one of the few corners in the game.
Phillips came but missed the far post ball and was relieved to see Anthony Gerrard prod his effort inches wide.
After an ineffectual first half in which they offered nothing in the final third, Rovers got their game together for the second period and created several chances.
Their equaliser came when Disley drove in a low shot after Rickie Lambert had headed the ball into his path.