Preston North End had an afternoon to forget as their eight-game winning run was brought to an emphatic end by Rochdale at Spotland.
Goals from Jack O’Connell, Ian Henderson and Matthew Done gave the lively home side a deserved three points.
Joe Garner missed a penalty at 3-0 which, had it gone in, would have at least maintained their record of scoring in every game this season.
The result meant disappointment for a large PNE away support numbering around 3,000 which filled one side of the ground.
O’Connell and Henderson scored in a three-minute spell either side of the half-hour mark to leave North End chasing the game for more than hour.
They rallied well after the interval and looked to be getting back into the contest but Done’s 61st minute goal, in which he took advantage of some poor defending, sealed it.
Garner had the chance to reduce the arrears late on, only to see his penalty saved well by Dale keeper Conrad Logan.
PNE boss Simon Grayson had made one change to the Lilywhites side, Tom Clarke returning to the centre of defence in place of Jack King who dropped down to the bench.
Clarke missed the games with Gillingham and Fleetwood because of a stomach virus but was a second-half substitute in last Tuesday’s win at Leyton Orient.
It was Clarke who had PNE’s first chance of the game in the 14th minute, looping a header over the bar after Paul Huntington had flicked on Paul Gallagher’s corner.
Two minutes later, Scott Wiseman’s cross from the right was headed out of the box by the home defence, the ball coming to John Welsh who attempted to catch the keeper off his line with a header but saw it go over.
North End struck the woodwork with 17 minutes gone, Gallagher’s free-kick met by Garner who powered a header against the bar.
At the other end of the pitch, Bastien Hery dragged a shot wide of the target after playing a neat one-two with Stephen Dawson to create space.
Rochdale then rocked Preston with two goals in the space of three minutes either of the half-hour mark.
In the 28th minute, Welsh’s foul on Hery earned him a yellow card and gave away a free-kick.
Scott Tanser lifted the free-kick beyond the far post where O’Connell rose to angle a header across goal and into the net.
The home side’s second goal came in the 32nd minute, Rhys Bennett getting too much space to advance down the inside-right channel.
His low centre was played behind the North End back four, Henderson darting forward to steer a low right-foot finish past Jamie Jones.
After the second goal, Grayson switched formations to a 3-5-2 in a bid to cope better with Dale’s diamond system.
Garner hooked a left-foot shot over the bar as the visitors looked for a way back then just before the interval, Robinson could not keep his header down after meeting a Welsh cross.
Four minutes into the second half, Gallagher’s corner picked out Clarke in the middle but his header struck a defender and the chance went begging.
Kevin Davies was introduced from the bench to replace Robinson who had got little joy down the left hand side.
In the 57th minute, Garner tried to beat Conrad Logan at his near post with a shot from the corner of the box.
The keeper was equal to it though, diving to push it behind.
Gallagher’s resulting corner was headed down by Huntington into the path of Garner, the striker’s snatched shot going high over the bar.
At this stage it looked like North End were beginning to get more of a foothold in the game.
But any hope of a comeback was swept from under them in the 61st minute as Rochdale hit their third goal.
The PNE defence was at sixes and sevens as they tried to deal with a long ball down the left side.
Scott Wiseman attempted to help the ball back to his keeper but it fell just short of Jones allowing Done to nip in and roll a shot into the net.
Jones was booked for complaining that he had got hold of the ball before Done, with it being kicked out of his gloves.
North End’s afternoon was summed up by the missed penalty a quarter of an hour from time.
Garner was upended two yards inside the box, referee Paul Tierney pointing straight to the spot.
With 11 goals under his belt this season you would have backed him to score but Logan guessed the right way to parry it superbly away.
Rochdale: Logan, Bennett (Lancashire 81, Andrew 87), Eastham, O’Connell, Rose, Tanser, Lund, Hery (Rafferty 81), Dawson, Henderson, Done. Subs not used: Noble-Lazarus, Musangu, Camps.
PNE: Jones, Wiseman, Clarke, Huntington, Buchanan, Kilkenny (King 83), Welsh (Browne 65), Humphrey, Gallagher, Robinson (Davies 53), Garner. Subs not used: Laird, Reid, Brownhill, Stuckmann.
Referee: Paul Tierney (Wigan)