The Wales international powered in Drew Talbot's pinpoint cross in the 27th minute and beat goalkeeper Nikki Bull to clinch the second-half winner just nine minutes after Ben Strevens had levelled.
Chesterfield took the early initiative when Jordan Bowery lashed over and the home side responded when Stuart Beavon's close-range strike was ruled out for offside.
Port Vale, leading before the start of play, were held to a 0-0 draw at home by Gillingham. The home side nearly claimed all three points with a late effort from Marc Richards, but it his header was directed straight at Alan Julian.
Third-placed Rotherham needed a late double to defeat 10-man Accrington 3-2.
Stanley went one up through Andy Parkinson in the ninth minute before losing Kevin Long to a red card eight minutes later. Adam Le Fondre converted the ensuing penalty before Jimmy Ryan (49) and Exodus Geohaghon (81) teed up Ryan Cresswell's last-gasp winner.
Fourth-placed Bury edged a thrilling encounter with hosts Torquay 4-3 having gone two behind to strikes from Chris Robinson and Chris Zebroski.
Ryan Lowe (27, pen), Nicky Ajose (33) and Steven Schumacher (51) turned that into a lead before Zebroski's second restored parity ahead of Mike Jones' 71st minute winner.
Shrewsbury kept pace with the play-off pack with a 2-0 defeat of Lincoln, Jake Robinson and Mark Wright the men on target.
Lowly Bradford earned a much-needed three points with a 3-1 win over visiting Cheltenham.
Josh Low put the Robins ahead but Dave Syers, Lee Hendrie and James Hanson hit back.
Aldershot broke into the top seven with a 2-1 victory against Morecambe - Damian Spencer and Marvin Morgan rendering Scott Brown's second-half strike academic.
Leon McKenzie notched a 21-minute hat-trick but still came away on the losing side as Hereford found the target four times in the second half to edge a seven-goal thriller against Northampton 3-4.
Stuart Fleetwood got two of them before James McQuilken and Mathieu Manset followed his lead.
Oxford threw away a 2-0 half-time lead to succumb 3-2 at the hands of Macclesfield, who had a Paul Bolland brace and Matty Hamshaw's finish to thank for the turnaround.
James Constable and Tom Craddock scored for Oxford.
Crewe took maximum points from their trip to Southend, with Clayton Donaldson and Shaun Miller on the scoresheet.
Stevenage, who had substitute Luke Foster dismissed, edged past Burton 2-1 thanks to Chris Holroyd and Scott Laird, who scored either side of Aaron Webster's 48th-minute effort.
Barnet took the lead against Stockport when Mark Byrne converted a minute into the second half but George Donnelly and Robbie Williams ensured the points went to the home side.