MK DONS were the big winners in League One as they crushed Oldham 7-0, while leaders Bristol City and Swindon both suffered surprise defeats.

Will Grigg grabbed a couple for the Dons and Dean Bowditch, Darren Porter, Benik Afobe, Dele Alli and Carl Baker also netted in a stunning success as the hosts moved up to second in the table.

Bristol City held on to top spot by a point despite going down 1-0 at bottom club Crewe, with the Robins having Derrick Williams dismissed before Jamie Ness claimed victory for Alex.

Preston joined them just a point off the top by prevailing 1-0 at Peterborough, with Jermaine Beckford bagging the crucial goal in first-half stoppage time.

Danny Wilson celebrated his 1,000th game as a manager with a win as Barnsley beat Leyton Orient 2-0, with Conor Hourihane and Devante Cole doing the damage and the Tykes held firm at the back despite goalkeeper Ross Turnbull seeing red.

Michael Brown and Louis Dodds hit the target as Port Vale prevailed 2-1 at Crawley, while Craig Eastmond got the only goal of the game as Colchester picked up maximum points at Yeovil.

Jimmy Ryan bagged the winner as Chesterfield obliged 3-2 at Gillingham, with Samuel Clucas and a Leon Legge own goal having earlier put the Spireites in control before their hosts replied through Cody McDonald and John Egan.

Hakeeb Adelakun struck four minutes into stoppage time to earn Scunthorpe a 1-1 draw at Bradford, while it was the same score between Coventry and Fleetwood as Simeon Jackson levelled late on for the Sky Blues after Andy Webster had scored an own goal.

Garry Thompson left it until the 95th minute to rescue a point for Notts County in a 2-2 draw at Rochdale, while Chris O'Grady and Tom Bradshaw were on target as Sheffield United versus Walsall finished 1-1 at Bramall Lane.