Jason Price struck twice as Doncaster Rovers romped to an easy win at struggling Crewe Alexandra.
The Welsh striker struck either side of half-time and Rovers capitalised on late mistakes with Paul Green and Lewis Guy adding a third and fourth in the dying minutes.
Crewe crumbled and their misery was complete when Gary Roberts was sent off with 12 minutes left for picking up his second booking.
Sean O'Driscoll's team were far too slick with their passing and movement for the hosts whose only real chance in the first half, an angled drive from Shaun Miller, was held by Rovers keeper Neil Sullivan. It was only a matter of time before Doncaster would take the lead.
Adam Lockwood flicked a header onto the bar in the 15th minute and leading scorer James Hayter spurned a juicy chance nine minutes later.
Price's flick-on put him through on goal, but Hayter volleyed over the bar. However, Price made no mistake when Hayter stabbed a pass behind the defence after James Coppinger's effort had been blocked.
Although looking suspiciously offside, the Rovers striker rammed home the opener from 12 yards out.
When he latched onto Coppinger's defence-splitting pass five minutes after the restart he again made no mistake shooting under home keeper Ben Williams.
Rovers had more chances to kill the game off, Price failing to complete his hat-trick after latching on to Chris McCready's back-pass.
Crewe enjoyed a brief revival with Danny O'Donnell forcing Sullivan to tip over his header after Michael O'Connor had arced in a free-kick.
Veteran midfield Neil Cox had a header cleared off the line, but when Roberts was red-carded after lunging two-footed at Coppinger to earn his second booking the game was effectively over.
Rovers rubbed it in with Green seizing on McCready's miscontrolled clearance to fire into the top corner in the last minute and then substitute Guy slipped in on the left of the box on stoppage time and slammed the fourth past Williams.