Win takes Wigan second in League One as Gillingham slip up against Oldham
Wigan moved into the automatic promotion places in League One after Yanic Wildschut's injury-time goal lifted the Latics to a 2-1 victory at fellow high-flyers Walsall.
A draw was on the cards as the match entered its closing stages after Sam Mantom's sensational half-volley midway through the second half cancelled out Conor McAleny's fantastic long-range strike in the 39th minute.
But Wildschut's excellent 25-yard effort in the first minute of added time gifted Gary Caldwell's men all three points as they moved above the Saddlers and Gillingham, who suffered a surprise 2-1 defeat at relegation-threatened Oldham.
Doug Loft put the Gills ahead after 16 minutes but Timothee Dieng's header just before the hour mark levelled matters before Jonathan Forte grabbed all three points for Oldham in the 73rd minute.
Tom Eastman's sending-off proved crucial as Colchester remained marooned at the foot of the table after squandering a two-goal lead in a 5-2 defeat at Bury.
Gillingham's Doug Loft celebrates after scoring their first goalReuters
Chris Porter and Gavin Massey put the Us two goals to the good inside 17 minutes, but Eastman's dismissal just after the half-hour changed the course of the match.
Ryan Lowe pulled one back before Andrew Tutte scored twice in two minutes after the break before completing his hat-trick just after Craig Jones had added a fourth - with the Shakers scoring four times in 11 minutes.
Fleetwood moved out of the drop zone after a 2-1 win over Scunthorpe.
Ashley Hunter's goal on the quarter-hour was added to by Bobby Grant in the 29th minute and although Paddy Madden pulled one back from the spot, the Cod Army held on to take advantage of Shrewsbury's inactivity.
Nicky Ajose scored the winner two minutes from time to complete his hat-trick and ensure Swindon eked out a 3-2 victory over Blackpool.
The Robins had trailed to Tom Aldred's second-minute goal before Ajose struck in either half to put them on top, and although Danny Philliskirk's penalty appeared to rescue a share of the spoils for Blackpool, Ajose had the final say.
Rochdale twice blew a one-goal lead as they settled for a 2-2 draw at Bradford.
Joe Bunney found the net in the 12th and 51st minutes but the visitors were pegged back on both occasions by Rory McArdle's 40th-minute goal and substitute Steven Davies' header just after the hour mark.
Sylvan Ebanks-Blake, Lee Novak and Connor Dimaio were all on-target in Chesterfield's 3-1 win over fellow strugglers Crewe, who only had Zoumana Bakayogo's goal for consolation.
Steve Morison scored twice, either side of Lee Gregory's header, to help Millwall up to fifth in the standings after a 3-0 win over Peterborough.
Billy Sharp's 50th-minute strike proved the difference as Sheffield United defeated Port Vale 1-0, while Barnsley beat Doncaster by the same scoreline thanks to Ashley Fletcher's goal nine minutes from time.