Charlton Athletic 1 Manchester City 0
Darren Bent scored again as Charlton clung on for only their second Premiership win of the season after Manchester City failed to end their away-day misery.
Bent escaped his markers to head home a perfect cross by man-of-the-match Jerome Thomas just before the half-hour for his seventh goal of the campaign and could have added more goals.
But in the closing minutes City pressed furiously for an equaliser and keeper Scott Carson made a full-stretch save from substitute Bernardo Corradi's header and then pushed the ball out after another sub, Hatem Trabelsi, struck a post with his shot from outside the area.
Right at the death Trevor Sinclair hooked a shot inches wide of the far post, moving in on Trabelsi's cross.
Nobody would have predicted such an action-packed finale after a slow start.
After impressive Andy Reid's determined burst in the opening minute which ended with the Irishman shooting wide under fierce pressure from Richard Dunne, the game took a long time to warm up.
Charlton's fans have been named in a survey as the quietest in the Premiership but they did not have much to cheer for the first half-hour although skipper Luke Young had to clear a goalbound header from Sinclair and keeper Carson turned away a surprise shot from adventurous City full-back Micah Richards
But in the 26th minute Thomas set up a chance for Bent with a smart through-ball and the striker hit a crisp shot from a narrowing angle which Nicky Weaver did well to block.
Thomas, who broke a metatarsal at the end of last season and returned to the side after a hip injury, was soon in action again - at the the other end.
He hacked Micah Richards header from a corner off the line but Charlton could only half clear the danger and Sinclair forced Carson to beat away his fierce shot from 20 yards.
And as the match suddenly burst into life, the prolific Bent put Charlton in front with a glorious header, escaping his markers in the area to meet Thomas's left-wing cross eight yards out on the half-hour for his seventh goal of the season.
The effect on Charlton's confidence was dramatic and it took two defenders to stop Dennis Rommedahl racing clean through the middle after deftly controlling a pass from Reid.
City kept working hard, though, and a fortunate deflection almost left Paul Dickov with a golden chance 10 yards out, until Talal El Karkouri stepped in with a vital tackle.
Charlton complained when referee Chris Foy awarded a 42nd-minute corner after Richards and Georgios Samaras both rose for a header and the ball appeared to land in the side-netting without Carson effecting a touch.
But they stoutly defended the flag kick with skipper Young again hooking the ball clear after it pinged around the six-yard box.
Home fans who had sporadically jeered City's Ben Thatcher in his first away game after an eight-game ban for elbowing Portsmouth's Pedro Mendes, fans booed Joey Barton after what looked like an arm-led challenge on Thomas, who needed a treatment, but referee Chris Foy took no action.
Carson athletically kept out a Samaras volley at the expense of a corner in first-half stoppage time.
But despite taking off the ineffective DaMarcus Beasley and sending on Darius Vassell before a double change at the front saw Dickov and Samaras replaced by Trabelsi and Corradi, City struggled to revive their fortunes in the second half.
They would have been two down just after the hour but for Richards` vital deflection that took a Souleymane Diawara shot over the crossbar.
And Diawara's solid central defensive Karkouri was only just wide with a blast at a short free-kick from Bent who had been bodychecked on the edge of the area by Claudio Reyna.
Bent lashed another chance wide from Thomas' cross on 75 minutes and City were heading for their 19th defeat in 23 matches
Manager Stuart Pearce had kept an unchanged side for the first time in 29 games following last Monday's 1-0 home win over Middlesbrough.
But his belated changes just failed to pay off as Charlton clung to a hard-earned victory.