Doncaster Rovers have maintained their advantage at the top of the League One table with a 1-0 victory over Swindon Town.
The match appeared to be heading for a draw, before defender Jamie McCombe netted the winner 10 minutes from time.
Bournemouth kept pace with the leaders with a narrow 1-0 triumph over Scunthorpe United.
However, third-placed Brentford slipped up at MK Dons, losing 2-0 to their hosts, who have moved up to 10th.
Sheffield United were held to a goalless draw by Carlisle United, while Yeovil Town recorded a 2-1 success away at Notts County.
Results in full: Bournemouth 1-0 Scunthorpe United, Crewe Alexandra 1-0 Preston North End, Doncaster Rovers 1-0 Swindon Town, Leyton Orient 2-0 Bury, MK Dons 2-0 Brentford, Notts County 1-2 Yeovil Town, Oldham Athletic 1-1 Colchester, Portsmouth 1-0 Tranmere Rovers, Sheffield United 0-0 Carlisle United, Shrewsbury Town 3-0 Crawley Town, Stevenage 1-0 Hartlepool United, Walsall 4-0 Coventry City