Grant McCann's side twice led but the Saddlers equalised on both occasions - the second a killer blow in stoppage time.
Both sides enjoyed early chances to break the deadlock but it was Rovers who did take the lead through a fine goal from Luke Molyneux after 16 minutes. He finished expertly after cutting in from the right following a free-flowing move.
That sent the home fans into raptures but it took less than two minutes for Walsall to burst the bubble. A cross from the right by Oisin McEntee was glanced in thanks to a brilliant header from Taylor Allen. The rest of the first half was like a chess match with both sides cancelling each other out.
That played out in a similar fashion second half with neither side seemingly able to turn the screw. That was until super-sub Billy Sharp popped up six minutes from time to produce a trademark finish.
Rovers thought it was job done but Walsall had other ideas. Jamille Matt's effort was saved brilliantly by Ted Sharman-Lowe but sub Danny Johnson was on hand to head home from barely a yard out to break Rovers' hearts and ensure spoils were shared, perhaps predictably in a promotion race that has all the hallmarks of going to the wire.
Here's how we rated the players tonight:

13. Billy Sharp 7
The right man at the right time was on hand to connect a few yards out for what could have proved to have been a crucial goal in this promotion race. Walsall, alas, had other ideas. Photo: Bruce Rollinson/AHPIX LTD