Chelsea 2 Charlton 1
Ashley Cole made his Chelsea debut but fellow defender Ricardo Carvalho grabbed the glory.
Cole started his Chelsea career on the bench and had been on the pitch for only a few seconds when Carvalho grabbed the winner with a thumping header.
Didier Drogba had fired the home team into a sixth-minute lead but Jimmy Floyd Hasselbaink equalised for Charlton against his former club.
Hasselbaink refused to celebrate his goal and the Chelsea fans actually applauded him as he made his way back to the centre.
Charlton should have been dead and buried by half-time as Jose Mourinho’s champions squandered a string of chances.
But Iain Dowie’s team hit back after the break and made Chelsea work hard for the three points.
Marcus Bent had a late goal ruled out for handball and Frank Lampard missed another penalty, late in the game.
Chelsea were ahead after only six minutes.
Michael Ballack, on his home debut, met Lampard’s corner with a powerful diving header which was destined for the bottom corner but was blocked by Bryan Hughes.
The rebound fell for Drogba who forced the ball into the net for his third of the season.
It was an awful start for Charlton, who have a good recent record against Chelsea.
They were the only team to take points from Stamford Bridge last season and also knocked the Blues out of the Carling Cup on penalties.
Scott Carson prevented them from slipping two behind in the 13th minute with a fine save low to his left.
Shaun Wright-Phillips skipped past Djimi Traore on the right and Drogba met his low cross with a fierce drive, which Carson smothered at the second attempt.
Charlton were outplayed for most of the first half but one wonderful chance fell to Darren Bent in the 31st minute.
Sub Dennis Rommedahl, on for the injured Andy Reid, seized on a poor clearance from Bridge and found swung in from the right. It was perfect for Bent who sprang well but glanced his header wide.
Chelsea hit back. Lampard threaded a neat pass to Drogba but the Ivory Coast striker, clean through on goal, slid the chance wide.
Carvalho launched another sweeping Chelsea break out of defence.
He ran the ball from box to box, exchanged passes with Wright-Phillips, but lashed his shot over the bar.
Ballack showed beautiful poise on the edge of the penalty area, twisting one way and then the other before curling a left-footer just wide.
Andriy Shevchenko should have given Chelsea a two-goal cushion before the break when Bridge landed a deep left-wing cross on his head.
The expert Ukraine marksman looked certain to score as he hung in the air but headed the ball straight at Carson.
Ballack escaped the offside-trap just before the break to but glanced his header wide.
Charlton made them pay for their wastefulness when Hasselbaink stunned his former club with an equaliser in the 54th minute.
Rommedahl sped down the right and turned a pass in-field. Carvalho mistimed an interception leaving Hasselbaink with time to guide his shot into the bottom corner.
Hasselbaink, who spent four years at Stamford Bridge before moving to Middlesbrough, refused to celebrate his goal.
Instead, the Dutch striker touched the turf and crossed himself.
The Chelsea fans applauded him and he gave them a wave. It was an incredible sequence of events.
Chelsea went back in front when Charlton were down to 10 men.
Souleymane Diawara had hobbled off before a corner and there was no sub on when Carvalho leapt to head Lampard’s kick past Carson with the help of a deflection of the head of Amady Faye.
Marcus Bent eventually came on for Diawara and soon had the ball in the Chelsea net but it was ruled out by referee Alan Wiley for handball.
Wiley gave Chelsea a late penalty when Talal El Karkouri was adjudged to have shoved Salomon Kalou off the ball but Lampard missed the spot-kick.
Carson saved the well-struck shot and Lampard has now missed three of his last four penalties for club and country.