Crewe Alexandra made it three straight victories to boost their hopes of escaping relegation after beating promotion-chasing Peterborough United, who finished the game with nine men.
The Railwaymen's only goal came from a Marcus Haber penalty after a poor challenge saw Michael Bostick given his marching orders.
Peterborough's misery was compounded in stoppage time when Jack Baldwin was sent off and the gap to leaders Bristol City increased to six points.
Preston North End closed in on the automatic promotion places with a 1-0 victory at Gillingham. Paul Gallagher's strike proved enough for the Lilywhites to leave Kent with a win.
MK Dons fought back from a goal down to beat Fleetwood Town 2-1, with Benik Afobe getting the winner from the penalty spot to give the Buckinghamshire club a boost in their quest for a place in the Championship.
Oldham Athletic continued their good run of form with a resounding victory over Coventry City at Boundary Park. Jonathan Forte scored twice for the Latics to pull them to within a point of the playoff places.
Swindon Town's own playoff hopes were hit by a late defeat at home to Rochdale, who can thank Bastien Hery's stoppage-time strike for sealing three points at the County Ground.
Notts County continued their own promising recent run by fighting back two goals down at Barnsley to win 3-2. Michael Petrasso's second of the game ensured the Magpies move into fifth place.
Sheffield United also moved into the top six with a 2-0 win against Yeovil Town, while Chesterfield dropped to 10th in the divison after Freddie Sears scored late to give Colchester United victory.
Scunthorpe United dropped to the foot of League One, despite drawing 2-2 with fellow strugglers Port Vale.
Results in full: Barnsley 2-3 Notts County, Bristol City 2-2 Bradford City, Colchester United 2-1 Chesterfield, Crawley Town 1-0 Walsall, Crewe Alexandra 1-0 Peterborough United, Doncaster Rovers 0-2 Leyton Orient, Gillingham 0-1 Preston NE, MK Dons 2-1 Fleetwood Town, Oldham Athletic 4-1 Coventry City, Port Vale 2-2 Scunthorpe United, Sheffield United 2-0 Yeovil Town, Swindon Town 2-3 Rochdale