Darren Ferguson's Peterborough United hung on to claim a dramatic 2-1 win over Milton Keynes Dons despite being reduced to nine men at London Road.

Posh's hopes of keeping pace with Sky Bet League 1 leaders Leyton Orient suffered a blow in the sixth minute when Nathaniel Knight-Percival was sent off for a foul on Patrick Bamford.

But Lee Tomlin's penalty gave the home side the lead and Britt Assombalonga's second just past the half-hour mark made light of the hosts' numerical disadvantage.

Izale McLeod reduced the deficit for the Dons in the 74th minute and moments later Mark Little became the second home player to be shown a red card - but Posh hung on to stay second.

Wolverhampton Wanderers needed a late penalty to maintain their strong start to the season at Shrewsbury Town, with the game drifting towards a goalless draw until Jon Taylor's handball allowed Bakary Sako to fire a winner from the spot.

Preston North End moved up to fourth after piling more woe on Sheffield United at Bramall Lane.

The Blades are still without a win since the opening day of the season and stuck in the relegation zone after Stuart Beavon's 68th-minute goal proved enough to earn the visitors the points.

Carlisle United's caretaker-boss Graham Kavanagh boosted his hopes of getting the job full-time after leading the Cumbrians to their second straight win with a late 3-1 success at Stevenage.

Lee Miller gave the visitors an early lead and although Greg Tansey's penalty pulled Stevenage back level, two goals in the last 13 minutes from Matt Robson and David Amoo won it for Carlisle.

Notts County moved off the bottom with their first win of the season - goals from Joss Labadie and Marcus Haber giving them a 2-0 home win over Tranmere Rovers.

County's success saw Gillingham slide to the foot of the table after the winless Gills fell to Gary Jones' ninth-minute winner for Bradford City at the Priestfield Stadium.

Nile Ranger lashed home a late winner as Swindon Town left Bristol City still searching for a first victory of their own after a 3-2 success at the County Ground.

City twice led through Aden Flint and Jay Emmanuel-Thomas but the hosts clawed back through two from Nick Ajose before Ranger struck his third goal of the season.

Chris Birchall's 83rd-minute winner gave Port Vale victory by the same score over Coventry City.

Callum Wilson's opener for the Sky Blues was cancelled out by Tom Pope and although Franck Moussa put the visitors back in front, second-half goals from Doug Loft and Birchall earned Vale the victory.

Walsall and Rotherham United shared the points in a 1-1 draw at the Banks's Stadium - Daniel Nardiello's opener for the visitors cancelled out by Sam Mamtom late in the first half.

Emile Sinclair's header earned Crawley Town a 1-1 draw at Colchester United who had gone ahead early through Freddie Sears, while Charlie MacDonald's 54th-minute equaliser was enough for Crewe Alexandra to share a 1-1 draw at Oldham Athletic, who led through Oliver Turton.