Goals from Richards and Cresswell after 4 and 21 minutes respectively looked to have set Northampton on the road to a comprehensive win but the visitors pulled a goal back through Bingham just after the half-hour.
Chris Wilder's side took all three points, however, to continue their improved recent form and move on to 21 points from their 12 matches.
4,477 watched the action.
Reaction to follow on Footy Mad.