John Brayford almost handed Freeman the equaliser when he was slow to clear, but Mark Howard managed to keep the ball out.
Heslop continued to prove dangerous in midfield, but Zoko was unable to control his ball into the box, allowing the Blades to clear the danger.
Howard had to remain alert in the home side's goal late on as Freeman unleashed a powerful strike, but it was straight at the keeper.
Ben Davies tried to create a chance for Nigel Clough's side in the final couple of minutes as they looked to put the result beyond doubt, but his cross was cleared, while Conor Coady fired over moments later.
Freeman hit the cross deep in stoppage time, but the home side cleared from the resulting corner to hold on for the win.