Zheng Zhi scored his first Charlton goal and then earned a late penalty against Newcastle to help the hosts to a vital win in their push for survival.
Zheng Zie (left) celebrates his opening goal with Darren Bent
The China captain turned in the opener from 12 yards out after Darren Bent's second-half free-kick had hit the bar.
And, with minutes remaining, Zheng was fouled by Nolberto Solano in the box and Jerome Thomas scored from the spot.
Bent had earlier been denied by keeper Shay Given, while Obafemi Martins screwed the Magpies' best chance wide.
It was no less than the hosts deserved from a pulsating encounter, albeit one that took 49 minutes to spring into life.
One might have expected an aggressive and pacy opening, given both sides' need for the points, but for all their bluster, the quality on show in the first half was decidedly average.
Newcastle, desperate to put Wednesday's tame Uefa Cup exit at the hands of AZ Alkmaar behind them, had made a host of changes but still they looked toothless in attack.
Antoine Sibierski personified their frailties in the final third in the fifth minute when he failed to collect Kieron Dyer's slipped pass in the box, allowing Soulamayne Diawara to launch a saving tackle 16 yards out.
Such was the lack of imagination on show, that chance represented the clearest sight on goal in the first half by either side, although Talal El Karkouri drilled a 20-yard free-kick wide at the other end.
However, if the first period of the game was poor, then the second was near inspirational in contrast as Charlton belied their lowly position with wave after wave of attacking football.
Not that the hosts did not have to live on their nerves occasionally - and none more so than in the 49th minute when Martins contrived to miss a sitter.
The Nigerian did brilliantly to chest down Emre's shot in the box but failed to hit the target from six yards out, screwing wide of Scott Carson's goal on the turn.
Charlton celebrate Thomas's late second at The Valley
And minutes later, Martins' profligacy was punished, Bent's curled free-kick crashing off the underside of the bar and back to Zheng, who got enough on his header to find the net.
Suddenly, the hosts were full of attacking verve and Bent went agonisingly close to extending Charlton's lead when his header from Jerome Thomas' cross brought the best out of Given.
Moments later, the Irishman had to be at his best again from a similar Bent header and Charlton were rampant.
Magpies boss Glenn Roeder had made three changes to his defence from Wednesday's encounter but Charlton were causing the renewed backline all sorts of problems.
With 10 minutes to go, Bent volleyed into the side netting at the back post before Zheng danced into the box only for Given to deny him once more.
The visitors refused to give in, though, and when Dyer's cross hit El Karkouri's hand in the box late on, he thought he had earned a penalty - only for Dermot Gallagher to wave away the appeals.
However, the referee did not deny Charlton's appeals in the closing stages after Zheng had gone down under Solano's clumsy challenge and Thomas dispatched the spot-kick to seal the points.
A disjointed Newcastle almost had the final say in the last minute when Charles N'Zogbia forced keeper Scott Carson to tip the ball over the bar - the visitors' first shot on target.
But the hosts held on to earn victory and moved to within four points of Sheffield United, who are in 17th spot.
Charlton manager Alan Pardew:
"Newcastle caused us problems in terms of possession in the first half and we had to rely on a strong defence and our character to get us through.
"But we adjusted, brought some fresher legs on and we played some good football in the second half and it brought its rewards.
"We've had two wins and a draw in our last three games and, with another home game coming up against Wigan, we're on a bit of a roll."
Newcastle boss Glenn Roeder:
"They couldn't cope with the shape of our midfield in the first half and the only disappointment was that we failed to create or convert any chances.
"Obafemi then has a fantastic chance to score early in the second half and I was quite amazed that he didn't score or even hit the target - and what do you know, two or three minutes later and we're behind.
"I was pleased with our reaction after the midweek defeat though and we won't let our season peter out. There is no danger of that, I won't allow it to happen."
Charlton: Carson, Young, El Karkouri, Diawara, Hreidarsson, Zheng, Holland, Song Billong (Faye 40), Thomas, Darren Bent (Lisbie 83), Marcus Bent (Rommedahl 46).
Subs Not Used: Randolph, Bougherra.
Goals: Zheng 53, Thomas 88 pen.
Newcastle: Given, Solano, Onyewu, Moore, Duff, Dyer (N'Zogbia 76), Parker, Emre, Milner, Martins, Sibierski.
Subs Not Used: Harper, Bramble, Huntington, Carroll.
Booked: Solano, Parker.
Ref: D Gallagher (Oxfordshire).