Striker Steve Morison gave the Yorkshiremen the advantage with a volley before Tony Watt levelled the scores after the break and Yoni Buyens gave the Addicks victory with a late penalty.
Leeds’ fifth straight defeat was a bitter blow for their boss Neil Redfearn who had to deal with six players controversially reporting injuries on the eve of the clash.
Two of them, first-teamers Mirco Antenucci and Marco Silvestri were forced to take to Twitter to insist their injuries were genuine.
On the pitch their team-mates started brightly, carving out the first chance 22 minutes in but Luke Murphy skied his volley over from 10 yards out.
Moments later Charlton goalkeeper Stephen Henderson’s clearance was charged down by former Millwall striker Morison but the ball bounced just wide of the post to spare the stopper’s blushes.
With half an hour gone Billy Sharp headed a Sam Byram cross just over as Leeds cranked up the pressure.
The Londoners nearly stole the lead when Igor Vetokele got a toe on a Tal Ben Haim long-ranger which deflected it past Leeds keeper Stuart Taylor, but the ball hit the post and bounced away.
Ben Haim was soon the villain, tripping Byram in the box as the Leeds midfielder honed in on goal to give the visitors a penalty on 37 minutes.
The defender escaped a card and Leeds striker Sharp then fluffed the change to put the Yorkshiremen ahead from the spot, with his effort superbly tipped onto the post by Henderson.
But the keeper wasn’t helped by his defence on 39 minutes as Leeds deservedly went in front.
Murphy’s corner found Morison in space and the forward volleyed into the corner of the net from 12 yards out, with Henderson only being able to get a hand on it.
Charlton were upping the tempo after the break but failing to test former Arsenal stopper Taylor, playing his first game of the season.
At the other end Henderson had to be at full stretch to save a long-range effort from Rodolph Austin.
Taylor was finally called into action, pushing a Buyens’ shot wide before it all went wrong for the goalkeeper.
On 74 minutes Charlton struck level. A Johann Gudmundsson cross found Watt unmarked at the far post and the Scotsman volleyed past Taylor.
Then the keeper spilled a Gudmundsson shot before tripping Vetokele as the striker latched onto the rebound. Buyens made no mistake from the spot, sending Taylor the wrong way to put Charlton ahead on 79 minues.
Leeds failed to create another opportunity as their miserable run continued.