BRISTOL City maintained their one-point advantage over Swindon at the top of Sky Bet League One thanks to a late 1-0 home win against Crawley.

Steve Cotterill's side looked in danger of being knocked off the summit until Luke Ayling struck from close range in the 87th minute at Ashton Gate.

However, Preston and MK Dons both lost ground on the front two following a 1-1 draw at Deepdale, where Carl Baker put the visitors ahead but Scott Wiseman equalised for North End.

Crewe remain at the foot of the table following a 2-1 loss at Scunthorpe, with Luke Williams and Miguel Angel Llera netting either side of a Nicky Ajose equaliser.

Yeovil threw the formbook out of the window when romping to a 4-0 victory at Oldham, with Stephen Arthurworrey, Simon Gillett, Sam Hoskins and Kieffer Moore doing the damage.

Rochdale were also impressive away winners as Matthew Lund, Peter Vincenti, Ian Henderson (penalty) and Jack O'Connell were on target in a 4-1 triumph at Colchester, who could only reply through Gavin Massey.

Luke Norris bagged a brace as Gillingham claimed a 2-1 victory at Doncaster, with Curtis Main claiming a consolation from the spot in stoppage time for Rovers.

Peterborough had Joe Newell sent off seven minutes into added time but had already done enough to secure a 2-1 win at Leyton Orient thanks to goals from Aaron McLean and Erhun Oztumer. Orient had equalised just before the break through Shaun Batt.

Reda Johnson and Gary Madine were on target as Coventry prevailed 2-0 at Port Vale, while Jordan Cook enjoyed a double strike either side of Tom Bradshaw's score as Walsall fought back to claim a 3-1 win over Barnsley, who had taken a 29th-minute lead through Lewin Nyatanga.

Billy Clark scored the only goal of the game as Bradford won 1-0 at Chesterfield, who had Sam Morsy sent off for fighting soon after half-time.

Fleetwood shared the spoils with Sheffield United in a 1-1 draw at Highbury, with Antoni Sarcevic levelling for the hosts after Bob Harris had given the Blades an early lead.