League Two play-off hopefuls Oxford suffered a 2-1 defeat at Bradford, who boosted their survival hopes.
Oxford lost Damian Batt to a red card five minutes before the break and Craig Fagan's penalty put City 1-0 up in the 57th minute. James Hanson doubled their lead 10 minutes later, before Asa Hall netted a consolation for Oxford.
Max Clayton scored in the fifth minute of injury time to earn Crewe a 4-3 win at Gillingham. Nick Powell put Crewe in front at the break and two goals in two minutes from Ajay Leitch-Smith and Powell put them 3-1 up after Jack Payne had briefly brought the hosts level.
Chris Whelpdale and Ashley Miller got the Gills back to 3-3, but they had Danny Spiller sent off in the 80th minute and the 10 men were undone by Clayton's goal at the death.
Plymouth slipped into the bottom two with a 1-0 defeat at Rotherham, Lewis Grabban with the 70th-minute winner from the penalty spot, while basement boys Dagenham's relegation fears increased with a 2-1 loss at Wimbledon.
Jack Midson put the Dons ahead in the 73rd minute only for Michael Spillane to level 10 minutes later. However, substitute Kieran Djilali won it in the 86th minute to move the hosts clear of danger.
There was no relief for crisis club Port Vale on the pitch as they lost 2-1 at home to Barnet.
Vale, who on Friday entered administration for the second time in nine years, went ahead through Marc Richards in the 56th minute but Ben May levelled in the 66th minute and Andrew Yiadom got the winner a minute from time.
Northampton moved out of the relegation zone with a 3-1 home win over Aldershot.
Adebayo Akinfenwa scored twice, the second a penalty, to add to Kelvin Langmead's opener to put the hosts in complete control. Danny Hylton grabbed a consolation at the death for Aldershot, while Lyle Taylor's goal earned Hereford a 1-0 victory at Morecambe.