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:

5. Jack Senior 6
Meaty in the tackle and tenacious as is now to be expected. Perhaps lucky to not get booked for one over-zealous challenge second half. Photo: Bruce Rollinson/AHPIX LTD

6. Owen Bailey 6
Quieter display than at the weekend but did provide the assist for Molyneux's goal. Photo: Craig Hawkhead/AHPIX LTD

7. George Broadbent 7
Booked inside five minutes but if anything he grew thereafter and was full of piercing balls and vital interceptions. Photo: Craig Hawkhead/AHPIX LTD

8. Joe Sbarra 6
Tried his best to force things. Some came off but often he just couldn't get into a real stride. Pressed as if his life depended on it before being subbed with 20 or so to go. Photo: Bruce Rollinson/AHPIX LTD