Crawley Town suffered their first defeat since Dean Saunders took over as interim manager when they fell 4-1 away to Rochdale.
Two goals midway through the first half by Scott Tanser and Ian Henderson gave them a 2-0 lead at half-time.
Reds pulled back to 2-1 after the break thanks to a goal by Marvin Elliott.
But then just as it looked like Crawley could unexpectedly grab a point Rochdale made sure of victoery with two late goals by Henderson and Calvin Andrew.
Rochdale dominated the first half with Crawley not managing a single shot before the break.
Ryan Dickson returned to the line-up following injury. Sonny Bradley dropped to the bench.
Brazilian De Lima who played in goal in Tuesday night’s Cup game was also named on the bench.
Rochdale named an unchanged side to the one which won 2-1 at Bradford last Saturday.
Their new signings Febian Brandy and Reuben Noble-Lazarus were on the bench.
Rochdale asked for volunteers to clear the pitch of snow from an overnight downfall which was added to this monring and at lunchtime.
The Dale had a shout for a penalty turned down when Joe Rafferty was brought down by Gwion Edwards but the spot kick was not awarded.
Rochdale looked more comfortable on the ball and did almost all the attacking and topscorer Matt Done looked dangerous when he had a shot saved by Lewis Price.
He was playing his first match in goal in his second spell at the club this season on loan from Crystal Palace.
Rochdale continued to look more creative on the pitch which looked slippery with a thin covering of snow visible on parts of the pitch.
The home side took the lead in the 33rd minute when Done’s free-kick hit the wall and played back into the area for Scott Tanser to fire into the net.
Before they knew it Crawley were 2-0 behind as just five minutes later Rhys Bennett struck a shot which Prices saved but the ball was parried straight to Henderson for a tap-in goal.
Crawley tried to respond with a half-chance headed wide by Marvin Elliott from Jimmy Smith’s corner.
Price kept the scoreline to 2-0 when he saved a 53rd minute penalty by Done who got up to take it after being fouled in the area by Lanre Oyebanjo.
Rochdale substitute Calvin Andrew was denied by Price after he followed up ball in from the right with a decent shot.
Crawley at last mustered a shot on target well hit from long-range by Smith which was saved by Josh Lillis and Izale McLeod skied the rebound well over the bar, much to the delight of the home supporters.
Marvin Elliott pulled a goal back with 15 minutes to go when McLeod headed a free-kick back across goal for Elliott to beat a defender and put away.
Reds pushed forward in search of an equaliser as Matt Harrold came on for Smith.
Walsh and Harrold both went close but Crawley then conceded two late goals in the last two minutes.
Henderson made it 3-1 in the 88th minute with a shot from the edge of the area which took a big deflection.
Then to add insult to injury Rochdale added a fourth in added time when Price made an attempted clearance and the ball flew into his own net off Andrew.
REDS: Price, Oyebanjo, Dickson, Edwards (Bawling 55), Smith (Harrold 85), McLeod, Walsh, Tomlin (Young 55), Ward, Wordsworth, Elliott
SUBS: De Lima, Bradley, Young, Banya, Anderson
ROCHDALE: Lillis, Rafferty, Bennett, Eastham, Lancashire (Capt), Vincenti (Andrew 30), Dawson, Done (Noble-Lazarus 88), Tanser, Camps (Allen 85), Henderson.
UNUSED SUBS: Bradley, Noble-Lazarus, Allen, Musangu, Rose, Logan.
REFEREE: Trevor Kettle