Macclesfield earned their first league win of the season despite being down to 10 men for most of the game.
Alan Navarro was sent off after 37 minutes for elbowing John Doolan.
But Paul Ince's side took the lead in the 52nd minute when a poor back-pass from Nathan Stanton led to Matt McNeil slotting the ball home from 15 yards.
Rochdale went agonisingly close to equalising in the 87th minute but Glen Murray's looping header cannoned off the angle of post and crossbar.
Macclesfield: Begovic, Regan, Swailes, Scott (Jennings 25), McIntyre, Hadfield, Navarro, Bullock, Tolley, Murphy (Heath 46), McNeil.
Subs Not Used: Miles, Tipton, Cooper.
Sent Off: Navarro (38).
Goals: McNeil 52.
Rochdale: Gilks, Brown, Stanton, McArdle, Goodall, Jones, Doolan, Cooksey, Dagnall, Sako (Murray 67), Mocquet (Moyo-Modise 73).
Subs Not Used: Ramsden, Clarke, Crooks.
Ref: U Rennie (S Yorkshire).