Shrewsbury maintained their three-point lead at the top of League One despite Bradley Dack’s late equaliser in a 1-1 home draw against Blackburn.
Summer signing Dack struck his first goal for Rovers in the 85th minute, after Aristote Nsiala had broken the deadlock from close-range early in the second half.
The Shrews extended their unbeaten league start to nine matches, while Peterborough climbed into second place after Jack Marriott’s late winner clinched them a 3-2 home win against promotion rivals Wigan.
Wigan led 1-0 at half-time thanks to Michael Jacobs, but Junior Morias levelled early in the second period and added a second in the 84th minute.
Ryan Colclough’s effort in the closing stages appeared to have earned Paul Cook’s side a point, but Marriott struck in the final minute to deny them.
Bradford moved above Wigan into third place after Tony McMahon’s superb first-half free-kick secured them a 1-0 win at Northampton.
Late goals from Ryan Sweeney and Ellis Harrison earned Bristol Rovers a 3-1 home win against in-form Blackpool.
The Gas hit back through Billy Bodin’s seventh goal of the season, after Kyle Vassell had given Blackpool an early lead.
Sweeney (84) and Harrison’s stoppage-time effort halted Blackpool’s seven-game unbeaten league run.
Rotherham thrashed Oldham 5-1 at the New York Stadium – their third home win by that scoreline this season.
Michael Ihiekwe’s early header was cancelled out by Oldham’s Craig Davies.
But Kieffer Moore struck twice in five second-half minutes, before late goals from Anthony Forde and Jerry Yates saw Rotherham register a fourth win in five league games.
Charlton were held 1-1 at home by Bury.
Jermaine Beckford’s fifth goal in nine appearances put the hosts ahead, but Northern Ireland international Josh Magennis headed Charlton level before half-time.
Southend cruised to their first league win since the opening day with a 4-2 victory at 10-man Fleetwood.
Simon Cox’s early header was cancelled out by the home side’s Amari’i Bell inside the opening four minutes, before home midfielder Aiden O’Neill was shown a straight red card for his professional foul on Ryan Leonard.
Southend led 3-1 at the interval through Stephen McLaughlin and Nile Ranger’s penalty after he had been fouled by Nathan Pond.
Jermaine McGlashan added the visitors’ late fourth, before Devante Cole headed home for Fleetwood in stoppage-time.
Walsall registered their first league success in four with a 2-1 win at Oxford.
Erhun Oztumer and Tyler Roberts struck either side of the break to give the visitors a two-goal lead, before Oxford’s Gino Van Kessel’s shot hit the crossbar.
Ryan Ledson’s 78th-minute penalty was not enough for the U’s.
Doncaster halted a run of three straight league defeats with a 3-0 win at out-of-sorts Plymouth.
Andy Butler’s header gave Doncaster an interval lead, before John Marquis and Alfie May added second-half goals.
Plymouth defender Sonny Bradley was sent off for violent conduct in the 80th minute.
Rochdale secured only their second league win of the season by beating Gillingham 3-0 at Spotland.
Dale led 2-0 at half-time thanks to Ian Henderson and Joe Rafferty, while Gills striker Tome Eaves was shown a straight red card in the 44th minute for his foul on the latter.
Henderson missed a late penalty, but Matty Done added Dale’s third in stoppage-time.