Doncaster made a blistering start against struggling Walsall before going on to secure a win which extended their advantage in sixth in League One.
John Marquis gave Doncaster the ideal start in the third minute when he slotted in from the penalty spot after Mallik Wilks was brought down by George Dobson.
Wilks then got in on the act barely a minute later, smashing in from the corner of the box after cutting in from the right.
Walsall - arguably the stronger side in the first half despite chasing the game - pulled a goal back after 13 minutes when Josh Gordon hooked in from close range after a goalmouth scramble.
Tommy Rowe then saw a header well held by Walsall keeper Liam Roberts.
Home nerves were calmed after 39 minutes when Danny Andrew drilled in a free-kick from 20 yards.
The two sides exchanged chances in the second half, with Marko Marosi saving well from Corey Blackett-Taylor, Zeli Ismail and Gordon, while Paul Downing and Rowe both went close for Doncaster, who now have a five-point cushion over seventh-placed Peterborough.
Report supplied by the Press Association.