Match ends, Rochdale 3, Preston North End 0.
Jack O'Connell scored his second goal in two matches as Rochdale ended Preston's eight-match winning run.
The 20-year-old defender, on loan from Blackburn, headed in Scott Tanser's lofted free-kick before Ian Henderson doubled Dale's lead from six yards out.
Winger Matty Done then scored his ninth goal of the season after Preston keeper Jamie Jones spilled the ball.
Joe Garner missed the chance to add a consolation goal for Preston after his late penalty was saved by Conrad Logan.
Victory propelled Rochdale to fourth, while defeat now leaves Preston five points adrift of leaders Bristol City.
Rochdale manager Keith Hill told BBC Radio Manchester:
"There's a little bit of pressure on the strikers to score opportunities but equally there's pressure on the defenders to keep clean sheets and we've done that today.
"The team at the minute is probably excelling in every department at the moment but the club will find it difficult to maintain the strides that the team's making.
"We're on good form at the minute but League One can hit you square in the face."
- 3BennettBooked at 60minsSubstituted forLancashireat 82'minutesSubstituted forAndrewat 88'minutes
- 29O'ConnellBooked at 42mins
- 14HerySubstituted forRaffertyat 82'minutes
- 1JonesBooked at 32mins
- 23HuntingtonBooked at 39mins
- 19WelshBooked at 28minsSubstituted forBrowneat 66'minutes
- 8KilkennySubstituted forKingat 84'minutes
- 27RobinsonSubstituted forDaviesat 54'minutes
- Paul Tierney
- Shots on Target
Second Half ends, Rochdale 3, Preston North End 0.
Corner, Preston North End. Conceded by Ashley Eastham.
Attempt missed. Stephen Dawson (Rochdale) right footed shot from long range on the left is close, but misses to the left.
Matt Done (Rochdale) wins a free kick in the defensive half.
Foul by Joe Garner (Preston North End).
Substitution, Rochdale. Calvin Andrew replaces Oliver Lancashire because of an injury.
Foul by Kevin Davies (Preston North End).
Oliver Lancashire (Rochdale) wins a free kick in the defensive half.
Attempt missed. Joe Garner (Preston North End) header from the centre of the box is too high.
Substitution, Preston North End. Jack King replaces Neil Kilkenny.
Substitution, Rochdale. Joseph Rafferty replaces Bastien Héry.
Substitution, Rochdale. Oliver Lancashire replaces Rhys Bennett.
Attempt missed. Paul Gallagher (Preston North End) right footed shot from outside the box is close, but misses to the left.
Corner, Preston North End. Conceded by Conrad Logan.
Penalty saved! Joe Garner (Preston North End) fails to capitalise on this great opportunity, right footed shot saved in the bottom left corner.
Penalty Preston North End. Joe Garner draws a foul in the penalty area.
Penalty conceded by Ashley Eastham (Rochdale) after a foul in the penalty area.
Hand ball by Ian Henderson (Rochdale).
Attempt missed. Alan Browne (Preston North End) right footed shot from outside the box misses to the right following a corner.