Shrewsbury stayed top of League One after a late header from Aristote Nsiala gave them a 1-0 win over Fleetwood.
It looked like the Shrews were set to be frustrated before Nsiala nodded in from a corner with just two minutes left.
Wigan Athletic remain two points behind after a 3-1 win at Blackpool.
Kyle Vassell had put Blackpool ahead from close range after eight minutes.
But Chey Dunkley headed the Latics level on the stroke of half-time.
And he went on to grab his second after 54 minutes to turn the match around.
Substitute David Perkins added a third with eight minutes left.
At the other end of the table, bottom club Plymouth Argyle recorded a first league win since August.
Joel Grant’s goal after 64 minutes proved enough for a 1-0 victory at AFC Wimbledon.
Former Pompey loanee Eoin Doyle scored twice as new Oldham Athletic boss Richie Wellens marked his first game since taking permanent control with a thrilling 4-4 draw at MK Dons.
Craig Davies gave the visitors a seventh-minute lead but Alex Gilbey swiftly equalised.
On-loan Preston North End forward Doyle put Oldham back in front after 39 minutes.
He then made it 3-1 in first-half stoppage-time.
The home side restored hope with a free-kick from Edward Upson after 56 minutes.
But Oldham soon regained their two-goal cushion through defender Peter Clarke.
Aidan Nesbitt set up an anxious finale with nine minutes left and Upson slotted in a dramatic equaliser after 89 minutes.
It also finished all square at the Kassam Stadium where hosts Oxford United and Rotherham shared six goals.
The Millers went ahead after 20 minutes through Joe Newell, only for the hosts to reply immediately when Jack Payne netted and Josh Ruffels put them 2-1 up on the half-hour.
Ryan Ledson then saw his penalty saved before Curtis Nelson extended the U’s lead in the 40th minute.
However, former Pompey forward Ryan Williams pulled one back for Rotherham.
And Kieffer Moore levelled things up again with his 11th goal of the season after 78 minutes.
Northampton Town won 2-1 at fellow strugglers Gillingham.
Daniel Powell struck a minute before half-time to put the Cobblers ahead but Gills skipper Lee Martin equalised just after the hour.
The visitors, though, wrapped up the points after 72 minutes through Matt Grimes’ free-kick.
Charlton Athletic moved level on points with third-placed Bradford after a close-range effort from Jake Forster-Caskey with 18 minutes left secured a 1-0 win at Valley Parade.
In-form midfielder Erhun Oztumer struck twice as Walsall won 3-0 at Doncaster Rovers.
Oztumer broke the deadlock just after the hour before tapping in his eighth goal of the season after 66 minutes.
Substitute Kieron Morris added a third with 10 minutes to go.
An early goal from midfielder Matt Done proved enough to give Rochdale a 1-0 home win over Bristol Rovers.
Scunthorpe came from behind to beat Peterborough 2-1.
Posh broke the deadlock after 51 minutes through Gwion Edwards.
But Lee Novak headed in an equaliser after 79 minutes before Josh Morris slotted in a penalty with four minutes left.
Ryan Leonard scored a late winner as Southend United beat Bury 1-0 at Roots Hall.