Leeds strikers Mark Viduka and Alan Smith proved to be the difference between the two teams at Elland Road.
Viduka grabbed a brace of smartly taken second half goals to add to Smith's clinical effort before the interval.
But the gloss was taken off Leeds' victory by an injury to their England goalkeeper Nigel Martyn, who limped off in the second-half.
Leeds deserved their win, controlling the game for the most part and producing spells of vibrant attacking football.
Charlton only came alive in the last 10 minutes and set up an exciting finale when Claus Jensen scored a stunning goal six minutes from the end.
Marauding threat
Charlton matched Leeds for the first half-hour, but found Viduka a marauding threat.
After just nine minutes the powerful Australian broke through the middle and struck a firm shot from just inside the area, but Kiely was impressivly quick off his line to block with his legs.
Viduka had two other excellent chances to score in the first-half, with close-range headers, but each time directed his efforts wide.
The young striker rifled home from inside the area after Viduka had cushioned the ball neatly into his path following good work from Bowyer and Bakke.
Charlton had a great chance to equalise only minutes later when Johansson, in such a rich vein of recent form for Charlton, was put one-on-one with Martyn by an incisive Powell pass.
The Finn tried to lift the ball over the onrushing keeper, but Martyn palmed the ball away for a corner.
Early in the second-half, Lee Bowyer, an effervescent presence in midfield, broke forward and hit a low shot from outside the area that went wide of the post.
Alan Smith then showed the unsavoury side of his character when he flew in two-footed on Rufus long after the Charlton defender had cleared the ball, forcing him off.
Martyn injury
Leeds fans will have been worried to see Martyn limp off with quarter of an hour to go.
The England man hurt his knee when he cleared a back-pass. He was replaced by young Paul Robinson.
This brought Charlton to life and with six minutes to go Claus Jensen ran in from the right wing and unleashed a brilliant shot that went across Robinson into the far corner of goal.
Young Robinson then brilliantly saved a close-range header and Leeds grabbed their third goal, with Viduka sliding into the six-yard box to direct an Ian Harte cross into the net.
Leeds: Martyn, Kelly, Harte, Woodgate, Mills, Burns, Bowyer, Bakke, Matteo, Viduka, Smith.
Subs: Bridges, Huckerby, Robinson,
McPhail, Hay.
Charlton: Kiely, Konchesky, Powell, Rufus, Brown, Stuart,
Kinsella, Jensen, Robinson, Johansson, Lisbie.
Subs: Ilic,
Shields, Todd, Salako, MacDonald.
Referee: M Dean (Wirral).