Rovers suffered a second half horror show to fall to a hugely frustrating defeat to Walsall.
Defensive errors cost Rovers all three goals in a game they had dominated in both possession and chance creation terms.
They were punished in a four minute spell just after the hour mark in which Erhun Otzumer scored twice.
And substitute Kieron Morris put the game to bed ten minutes from time - the third goal coming with only Walsall's third shot on target of the game.
It brought to a crashing halt the good recent progress Rovers had made.
They started the game looking for a third straight home win. They ended it picking the bones out of another frustrating and error-strewn defeat.]
Darren Ferguson made two changes to the side that beat Portsmouth. John Marquis unsurprisingly returned following his one-game suspension, replacing Rodney Kongolo while Niall Mason came in for Matty Blair, who missed out entirely.
Rovers lined up with a 3-4-1-2 system, Tommy Rowe sitting just behind a front two of John Marquis and Liam Mandeville.
It was a scrappy start to the game with strong, swirling wind hardly helping the situation for either side.
Rovers struggled for cohesive possession in the early stages and it made for a frustrating opening period.
Jordan Houghton drilled a superb ball over the top from halfway but Marquis could not quite reach it and scuffed a volley wide in the best of the early chances.
But Rovers soon settled in the game and began to dominate possession, finding some decent spaces with good passing.
What they lacked was a real creative spark in the final third to unlock a hard-working Walsall defence.
But they continued to probe and, just after the half hour mark, Ben Whiteman curled wide from 20 yards after decent build-up play saw him interchange passes with Marquis.
The best opportunity came late in the half when Rovers really should have been ahead.
Some brilliant interplay through midfield saw Rowe released just outside the box and he curled a fine effort off the post. The ball rebounded out to Marquis who had the goal at his mercy but his attempt to place a shot in the bottom corner saw it trickle wide.
Rovers pushed quickly at the start of the second half and Liam Mnadeville delivered an acrobatic volley that bounced kindly for Walsall keeper Mark Gillespie.
Joe Edwards drilled wide for Walsall with the most threatening effort the visitors had produced to that point.
Ferguson sent on both Rodney Kongolo and James Coppinger in a double switch to inject some energy into Rovers' play. It saw a switch to a 4-4-2 with a diamond midfield.
And Rovers continued to push without success.
The breakthrough came just after the hour mark. And after all the banging on the door Rovers had done to try to get ahead, they left it wide open for the visitors to take the lead.
Joe Wright attempted to allow the ball to run out for a goal kick but was caught out by Tyler Roberts who kept it on and squared for Oztumer who took a touch and slammed in from close range.
Coppinger looped a testing header but Gillespie rose to claim it well under some pressure.
But before Rovers had the opportunity to reset themselves, they found themselves two goals down.
Edwards charged on goal and caught the Rovers defence flat-footed with a square pass to Otzumer who again finished confidently.
Rovers pushed for a way back into the game but the wind had been taken out of them.
Whiteman fired a low effort from the edge of the box after good work from Coppinger but Gillespie tipped wide.
But the game was put to bed ten minutes from time with Rovers caught out again.
A clearance from a corner was poorly dealt with allowing Amadou Bakayoko to slide in substitute Morris to slot past Ian Lawlor.
Rovers: Lawlor, Wright, Butler, Baudry (Kongolo 56), Mason (Alcock 60), Whiteman, Houghton, Toffolo, Rowe, Mandeville (Coppinger 56), Marquis. Subs not used: Marosi, Garratt, Ben Khemis, Beestin.
Walsall: Gillespie, Kinsella, Wilson, Guthrie, Leahy, Chambers, Oztumer (Donnellan 78), Cuvelier (Morris 67), Edwards, Roberts (Agyei 85), Bakayoko. Subs not used: Roberts, Flanagan, Ismail, Kouhyar.
Referee: Kevin Johnson (Somerset)
Attendance: 7,391 (329 away)