The Addicks had already ensured they would be playing Championship football next term, but opened up an unassailable nine-point gap at the top with Saturday's win. Yann Kermorgant fired Charlton in front after 13 minutes and, although Stuart Beavon replied before half-time, Dale Stephens sealed the points in the 75th minute.
Sheffield United remain second in the table but now sit just one point ahead of city rivals Wednesday following a 1-0 loss at MK Dons. Alan Smith scored the only goal after 15 minutes, while the Owls snatched a last-gasp 2-1 victory over Carlisle courtesy of Michail Antonio's strike.
MK Dons are assured of a place in the play-offs along with Huddersfield, who beat Scunthorpe 1-0 with a late goal from Lee Novak.
Stevenage strengthened their play-off hopes with a fortuitous 2-1 victory at home to Brentford. Clayton Donaldson and Sam Saunders had both missed penalties for the Bees before Craig Reid gave Stevenage a 53rd-minute lead. Luke Freeman added a second nine minutes later with Saunders netting a late reply for the visitors.
Notts County sit two points outside the play-off places with two rounds remaining after a 4-2 defeat against Bury.
At the other end of the table, Rochdale's relegation was confirmed with a 2-1 defeat at fellow strugglers Chesterfield. Goals from Jean-Louis Akpa Akpro (73) and Danny Whitaker (86) sandwiched Scott Boden's 82nd-minute strike to send Dale down.
Exeter live to fight another day after a 4-2 win over 10-man Walsall. Walsall twice led through Alex Nicholls and Florent Cuvelier, with Daniel Nardiello briefly equalising for the Grecians. But the dismissal of Emmanuele Smith turned things in Exeter's favour, with Alan Gow scoring twice before Liam Sercombe rounded off the result.
Leyton Orient are four points above the relegation zone following a 2-2 draw against Yeovil. Kevin Lisbie gave the home side a 2-0 lead but Andrew Williams and Jonathan Obika secured a point for the Glovers.
Tom Eastman cancelled out Shaun MacDonald's early opener as Colchester shared a 1-1 draw with Bournemouth while the games at Boundary Park between Oldham and Preston and Prenton Park between Tranmere and Hartlepool also finished 1-1.
Source: PA
Source: PA