Millwall's defeat at Tranmere meant a victory for United would have sealed a return to the Championship from League One. But they slumped to defeat thanks to substitute Akpo Sodje's late header from Lloyd Sam's cross.
Leeds should have taken a second-minute lead when a mistake by former United defender Sam Sodje let in Max Gradel but he scuffed his effort at Darren Randolph.
The news from the Wirral seemed to have a greater galvanising effect on Charlton after the break and Sam Sodje then came within inches of opening the scoring but saw his header loop over the crossbar following a goalmouth scramble.
The home side continued to look the most likely to break the deadlock and Lloyd Sam squandered another opportunity.
But they finally got their reward in the 87th minute when Akpo Sodje swooped to head home, although Richard Naylor got the final touch.