Chesterfield 1 Grimsby Town 2
North struck in the 45th minute and then converted a 78th-minute penalty and, although Jamie Ward pulled a goal back seven minutes from the end, Chesterfield saw their run of four straight victories come to an end.
The early signs were that Chesterfield would make it five as they had Grimsby stretched to breaking point despite the absence of top scorer Jack Lester who was serving a one-match ban.
The pace of Ward and Adam Rooney, combined with the strength of Steve Fletcher, created a number of chances but Fletcher struck a post while Peter Leven saw a header cleared off the line.
Grimsby had not had a shot on target until North turned away from Aaron Downes on the edge of the area and steered a shot past Barry Roche as the keeper came out.
The pattern of the first half was repeated after the interval as Ward struck the inside of a post from 15 yards and Gregor Robertson fired over after Phil Barnes had failed to hold on to a cross.
But Grimsby were more of a threat and North almost scored a second when his low 15-yard drive was brilliantly saved by Roche diving to his left.
The game took a decisive turn in the 78th minute when Grimsby broke out and North raced into the area where he was challenged by Downes and the referee immediately pointed to the spot.
North sent Roche the wrong way and tucked the spot-kick into the left corner but Chesterfield set up a rousing finale.
Grimsby failed to clear in the 83rd minute and, when the ball fell to Ward just inside the area, he drove a low shot just inside Barnes' left-hand post.
Chesterfield brought on experienced striker Wayne Allison but Grimsby held on and the only sour note on an entertaining afternoon was crowd trouble early in the game.
There were problems at both ends of the ground and at least ten supporters from both clubs were led away by police.