James Baxendale came back to haunt his former employers as he struck an opener for Walsall in first-half added time, and Rovers failed to hit back, eventually losing 3-0.
The game was heading for a stalemate at the break in what was looking to hardly be a classic, however, midfielder Baxendale - who looked lively throughout - was on hand to rifle an effort into the top corner at the death.
And that opener flew past a helpless Marko Marosi, who had only been brought on by Rovers on the half hour following an injury to Jed Steer.
Anthony Forde saw two early efforts blocked by Rovers after good attacking play down the right with just 45 seconds gone as Walsall looked prepared to take the game to the visitors.
Returning Saddlers striker Tom Bradshaw created a good chance for himself when he turned in the area, however, the ball just evaded his boot as Steer collected comfortably.
Former Rovers man Baxendale had a bright start and looked eager to impress as he was just out-muscled as he shaped to shoot with ten minutes gone on the clock.
Ex-Rovers duo Baxendale and O’Connor later combined in the 13th minute to see the latter fire in a dangerous ball, but Jamie McCombe was equal to the effort and cleared well.
Harry Forrester had Doncaster’s first real effort in the 16th minute, the attacking midfielder cut inside from the left and unleashed a powerful drive on goal but it sailed harmlessly wide of Richard O’Donnell’s left-hand post.
James Chambers later made a gut-bursting run after breaking from midfield and forced a corner for the home side in the 21st minute. However, nothing came from Forde’s resulting set-piece as Cedric Evina sprung forward to head away.
Steer was then struggling after claiming an aerial ball in the area and following treatment, the Rovers No 1 was back to his feet - albeit it groggily - as he clutched his ribs before taking a free-kick.
Cedric Evina was the first into Stuart Mathieson’s book following ill-discipline after being initially penalised for a foul on Baxendale and then closing down an attempted quick free-kick just shy of the half hour mark.
As 30 minutes hit, Paul Dickov made his first change of the game as Steer made way for Marosi to mark the former Wigan Athletic shot-stopper’s first appearance in the Rovers first team.
Doncaster began to get in their stride towards and enjoyed a good spell of possession, but it was not enough to test O’Donnell in the opposition net.
Kyle Bennett tried his luck in the 40th minute, however, the wideman struggled to keep the effort down as he blazed his 25 yard effort over the bar.
It proved a frustrating half for hard-working Theo Robinson who didn’t really get the service as chances appeared few and far between in the opening 45.
Baxendale then struck for 1-0, forcing Dickov into a rewritten team-talk at half time.
Bradshaw marked his return to the Walsall starting 11 with a cool finish after Romaine Sawyers crossed in from the right for the Saddlers’ second in the 57th minute.
Forde struck the Saddlers’ third beautifully after 64 minutes as a pinpoint free-kick from the edge of the area cannoned off Marosi’s right-hand post before nestling into the net.
Rovers’ defence saw Jamie McCombe return to the fray in place of Liam Wakefield who took a spot on the bench.
Meanwhile, after a high-energy performance on Tuesday night attacking midfielder Harry Forrester made the starting XI with Theo Robinson set to lead the line upfront on his own in place of the injured Nathan Tyson.
Richie Wellens takes a place on the bench.
Dean Smith opted to start top scorer Tom Bradshaw for the clash at Banks’s Stadium with the 22-year-old coming in for Ashley Grimes in Walsall’s only change from the starting 11 which drew 0-0 with Gillingham last Saturday.
Walsall: O’Donnell, Taylor, O’Connor, Downing, A.Chambers, Bradshaw, Sawyers, Baxendale, Flanagan, Forde, Butler. Subs: MacGillivray, Benning, J.Chambers, Cook, Grimes, Clifford, Manset.
Rovers: Steer, Evina, McCombe, McCullough, Wabara, Furman, Keegan, Bennett, Coppinger, Forrester, Robinson. Subs: Marosi Wakefield, Wellens, De Val, Peterson, Lund, Ferguson.
Referee: Stuart Mathieson.