Doncaster ground out another vital victory in their bid to win promotion, but they made hard work of it against the bottom-four strugglers.
Rovers were missing a couple of key players and never really hit top form against a workmanlike but limited Macclesfield side.
Ricky Ravenhill missed a chance for Doncaster when he fired wide in the eighteenth minute before Matthew Tipton had a shot saved at the other end.
A corner from Michael McIndoe was headed just over the top by Mark Albrighton in the 28th minute as Doncaster continued to force the pace.
Paul Green burst through a couple of minutes later but was foiled by a fine tackle from Tommy Widdrington before he was able to strike a shot at goal.
Tipton went closest to breaking the deadlock in the 34th minute with a well struck snap shot, but home keeper Andy Warrington reacted smartly to make a fine save.
Doncaster should have gone in front in the 37th minute when they were awarded a penalty after Karl Munroe had brought down the troublesome Chris Brown.
But after McIndoe had hammered home the spot kick, the referee asked for it to be retaken and this time, visiting keeper Steve Wilson dived full length to make a fine save.
But the homeside were not to be denied and their persistence was rewarded when they made the breakthrough on the stroke of half time.
It followed an excellent move with Brown and Leo Fortune-West involved before McIndoe crossed from the left and Gregg Blundell hooked the ball home at the far post.
Doncaster looked sharper in the second half but continued to miss chances to put the game out of Macclesfield's reach.
Green fired wide with keeper Wilson off his line and Fortune-West had a header punched out from under the crossbar by the keeper.
A breakaway attack almost lead to an equaliser when Tipton raced clean through but Warrington came to the rescue with a fine save.
Doncaster's defence held firm with Mark Albrighton and Steve Foster in commanding form, although Graham Potter missed a chance to pinch a point when he volleyed wide deep into stoppage time.