Bristol City's unbeaten start to the Sky Bet League 1 season finally came to an end as the 10-man leaders lost 1-0 to Swindon Town at the County Ground.The visitors had Wade Elliott sent off in just the third minute and Swindon finally made their advantage count when Michael Smith struck with 12 minutes left on the clock.
That victory pushed Town up to second in the table, four points off the summit, as Preston North End suffered a rare home defeat when edged out 2-1 by Bradford City at Deepdale.
Rory McArdle put the Bantams in front and Joe Garner's 85th-minute equaliser proved only a brief reprieve for North End as Mark Yeates bagged the winner just a minute later.
Notts County are up to fourth following a 1-0 win at Coventry City, with Roy Carroll keeping a clean sheet less than 24 hours after playing for Northern Ireland in Romania and Garry Thompson getting the only goal of the game.
Sheffield United went fifth after overcoming Paddy McCarthy's red card to oblige by the same scoreline at Doncaster Rovers, with Jamie Murphy on target.
Yeovil Town are now bottom after going down 1-0 at home to Fleetwood Town, with Jeff Hughes netting the decider late on.
Crewe Alexandra climbed off the foot of the table thanks to a goalless draw against Chesterfield, while Gillingham moved out of the relegation zone after overcoming a missed penalty and the dismissal of Michael Doughty to beat Leyton Orient 3-2.
Leon Legge bagged a brace for the Gills in between a Gianvito Plasmati penalty and Chris Dagnall's stoppage-time strike before Cody McDonald settled the issue eight minutes into time added on.
Michael Brown was the match winner as Port Vale beat Rochdale 1-0 at home, while there were no goals in the game between Walsall and Peterborough United.
Crawley Town avoided a third straight defeat when coming from behind to draw 1-1 at Oldham Athletic, with Gwion Edwards equalising after loan signing Daniel Johnson had put the Latics ahead on debut.