Steve Davis' winner sealed a hard-earned win for Aston Villa and consigned Charlton to a fourth successive Premiership defeat.
Davis kept a cool head to drill home his shot after a frenetic scramble which saw Milan Baros' shot rebound to him off the bar.
Charlton armed themselves with a defensive plan to frustrate Villa in an attempt to end their winless streak.
The visitors' best effort saw Darren Bent's first-half shot drift just wide.
Villa made a bright start, with Gavin McCann's shot finger-tipped round the post by Charlton keeper Stephan Andersen, following good approach play by Baros.
But Villa's early enterprise evaporated as Charlton, with Matt Holland restored in favour of Danny Murphy, strangled them in midfield.
Charlton hoped to draw Villa on and use their pace on the break, and the ploy almost paid off on a rare raid when Darren Ambrose's cross from the right was met by Olof Mellberg, who was relieved to see a sliced clearance fizz over his own crossbar.
Alexei Smertin moves away from Wilfred Bouma
Chances were at a premium as Charlton defended in depth and Gareth Barry was surprised when Wilfred Bouma's cross came through to him and he was unable to react in front of goal.
Charlton grew in confidence and Alexei Smertin's mazy dribble unsettled the Villa defence and when the ball broke for Bent he fired his shot across Thomas Sorensen and inches wide of the far post.
At the other end, Sorensen's fellow Danish keeper Andersen spread himself bravely to block Baros' point-blank effort.
Villa strikers Kevin Phillips and Baros were struggling to make any headway against Hermann Hreidarsson and Talal El Karkouri.
Villa's woes in the attacking last third were summed up when Barry blasted a 20-yard free-kick high into the Holte End.
Bouma's free-kick from a similar range was even worse as he spooned his shot like a rugby conversion and, as the fans' frustrations grew, Villa's attacking efforts became increasingly desperate.
When it came, Villa's goal had a fitting touch of controversy and farce.
Andersen appeared to be blocked off by Phillips, and the keeper's flap at a cross landed at the feet of Baros.
He crashed his shot against the bar from four yards out, but the rebound fell to Northern Ireland international Davis, who showed a cool head in drilling his shot into the top corner.
Aston Villa assistant boss Roy Aitken:
"We were in a false position in terms of points, but back-to-back wins have given us a more realistic total.
"I think a one-goal defeat probably flattered Charlton a bit.
"Our success over the past couple of seasons has been built on winning home games,hopefully this will put us on the right road now."
Charlton boss ALan Curbishley
"Kevin Philips used experience to block Stephan off, but he should still have got to the cross.
"I have no complaints about that or the result. If you don't create chances you don't deserve anything.
"We had one or two players who didn't turn up today, and I expected a bit more from them than that."
Aston Villa: Sorensen, Hughes, Mellberg, Ridgewell, Bouma, Milner, McCann, Davis, Barry, Phillips, Baros (Moore 90).
Subs Not Used: Samuel, Hendrie, Taylor, Bakke.
Booked: Baros, Milner.
Goals: Davis 69.
Charlton: Andersen, Young, Hreidarsson, El Karkouri, Powell (Perry 83), Holland, Kishishev (Murphy 67), Smertin, Ambrose (Lisbie 45), Bent, Thomas.
Subs Not Used: Spector, Myhre.
Booked: Kishishev, Powell.
Referee: M Clattenburg (Co Durham).