Sheffield United responded to rivals Wednesday's earlier win by beating Bournemouth 2-1 to keep themselves in the League One promotion places.
The Owls had won 2-0 away to another promotion-chasing Yorkshire side, Huddersfield, thanks to second-half goals from Miguel Llera and Nile Ranger to put the pressure on their neighbours.
But United were up to the task, Ched Evans and Richard Cresswell putting them 2-0 up before Zavon Hines pulled a goal back for the Cherries.
Charlton maintained their six-point advantage at the summit, Yann Kermorgant's 49th-minute goal enough to earn them a bad-tempered 1-0 win over Oldham.
It was 10-a-side by that point after Charlton's Danny Hollands was sent off in the 31st minute and Oldham's Jean-Yves Mvoto followed 10 minutes later, and Scott Wagstaff was dismissed in the second half to leave Charlton with nine men for the closing stages.
MK Dons remain fifth despite Bailey Wright's last-minute header earning Preston a 1-1 draw at Deepdale. Darren Potter had put the visitors ahead in the first half.
Brentford beat Bury 3-0 to close to within three points of the play-off places, Sam Saunders scoring twice before Shaleum Logan rounded off the win.
Walsall boosted their fight against relegation with a 3-2 win over bottom club Chesterfield.
Franck Moussa gave the Spireites the lead but Emanuel Jorge Ledesma struck twice to put Walsall ahead. Mark Randall levelled at 2-2 but Sam Mantom clinched the points for the Saddlers.
Yeovil moved to 50 points, eight clear of the bottom four with five games remaining, after a 3-1 win to leave Rochdale staring at the drop.
Jonathan Franks, Richard Hinds and Michael Woods put the Glovers three ahead and, though Jonathan Grounds then put through his own goal, Dale could find no further response and lie 11 points adrift of the safety line.