Lloyd Sam's late goal got Charlton back to winning ways and brought Coca-Cola Championship promotion rivals Stoke's unbeaten run to an end.
The winger was on hand to tuck away substitute Luke Varney's cross from close range as Alan Pardew's fifth-placed side moved level on points with Stoke in fourth.
Ricardo Fuller created the visitors' best chances but could not add to his 12 goals this season as Stoke fell to their first defeat in 13 games.
Andy Gray, Charlton's new £1.5million signing from Burnley, was handed his full debut and the Scot showed some neat early touches with his back to goal as the hosts dominated early on.
Sharp one-twos with Sam and Darren Ambrose just failed to come off, while a neat turn in the box brought a shooting opportunity which Andy Griffin blocked.
Charlton squandered numerous chances in the opening 20 minutes alone, with Chris Iwelumo nodding Matt Holland's cross wide and Madjid Bougherra heading over.
A rasping Sam drive was then deflected narrowly wide by Ryan Shawcross before the former Manchester United centre-half blocked a curling shot from Ambrose which looked destined to creep inside the far post.
Fuller got his first sight of goal in the 24th minute with a long-range effort which flew over the top of Nicky Weaver's crossbar.
Charlton's Chinese midfielder Zheng Zhi missed their best chance of the first half, bundling an Ambrose corner against a post, via Shawcross' deflection, and watching Danny Pugh clear from the goal-line.
The Addicks claimed the ball hit Shawcross on the arm but referee Mark Haywood was not interested.
Weaver was forced into a smart diving save to keep out Fuller's sliding effort as Stoke threatened before the break.
And Weaver was tested again at the start of the second half as Fuller held off three defenders before shooting low to the left keeper's left.
The Jamaican, by now warming to his task, then turned Bougherra inside-out before drilling a low cross-shot which flew inches wide.
Gray's big moment should have arrived on the hour when he was put through by Holland, but his shot was too close to Steve Simonsen, with Iwelumo unable to connect with the rebound.
Iwelumo was guilty of a poor miss soon after when he somehow failed to get a boot on a Kelly Youga cross which flew across the face of goal.
Zheng was denied by a last-ditch tackle from Griffin in front of goal, before the defender bundled substitute Jerome Thomas over in the box with Charlton's penalty claims once again waved away.
But the hosts finally made the breakthrough with seven minutes remaining when Varney recovered his footing after an air-shot and chipped the ball to Sam, who made no mistake with a header from six yards.
In a dramatic finish, Weaver saved superbly with his legs as Jon Parkin swept the ball goalwards to secure only Charlton's second win in nine.
Teams:
Charlton Weaver, Moutaouakil, McCarthy, Bougherra, Youga,Sam (Semedo 86), Holland, Zhi, Ambrose (Jerome Thomas 71),Gray, Iwelumo (Varney 66).
Subs Not Used: Randolph, Fortune.
Goals: Sam 83.
Stoke Simonsen, Griffin, Cort, Shawcross,Dickinson (Parkin 87), Lawrence, Eustace, Delap, Pugh,Cresswell, Fuller.
Subs Not Used: Hoult, Pulis, Diao, Zakuani.
Booked: Griffin.
Att: 22,108
Ref: Mark Haywood (W Yorkshire).