Shrewsbury squandered a first-half penalty as they suffered a 1-0 defeat at League One’s bottom club Bury on Tuesday night.
Shrews midfielder Shaun Whalley struck the post from the 42nd-minute spot-kick after Shakers goalkeeper Leo Fasan fouled Bryn Morris.
And Paul Hurst’s were made to pay when Greg Leigh slid home 10 minutes into the second period to earn Bury a first win in seven games.
Wigan cut the gap on Shrewsbury to a single point following Ryan Colclough’s brace in a comfortable 3-0 defeat of Doncaster Rovers.
Michael Jacobs had put the Latics ahead at the DW Stadium.
Scunthorpe leapfrogged Bradford into third by coming from behind to win 2-1 at Valley Parade.
Paul Taylor’s 25-yard rocket for the Bantams was quickly cancelled out by Duane Holmes.
Iron midfielder Hakeeb Adelakum then sealed glory with a second-half free-kick.
Jake Forster-Caskey struck twice as Charlton came from behind to beat Rochdale 2-1.
Matty Gillam had given Dale an 11th-minute lead at The Valley.
Charlie Mulgrew struck twice as Blackburn won 4-2 at Oxford.
Marcus Antonsson and Joe Nuttal were also on target, while Jack Payne and Jonathan Obika netted the consolations.
Walsall struck twice in the last two minutes through Tyler Roberts and Daniel Agyei to record a 4-2 success over Fleetwood.
Amari’i Bell had put Fleetwood level at 2-2 after Erhun Oztumer and Zeli Ismail had turned the game in the Saddlers’ favour following Jordy Hiwula’s 21st-minute opener.
At the bottom of the table, Plymouth were given a boost as two goals from defender Sonny Bradley earned a 2-0 success over fellow strugglers Northampton.
Elsewhere, Kieran Agard’s second-half penalty cancelled out Stephen McLaughlin’s opener as MK Dons hit back for a 1-1 draw with Southend.
Tom Eaves headed a last-minute equaliser to earn Gillingham a 1-1 draw at Blackpool following Kyle Vassell’s first-half finish, while Oldham and Wimbledon shared a goalless stalemate at Boundary Park.