Goals from Rhys McCabe and Jeremy Helan gave Sheffield Wednesday an impressive victory that lifts them out of the Championship relegation places.
McCabe's superb volley from the edge of the area midway through the first half gave the Owls the lead.
Helan scored deep into stoppage time of his last game before returning to parent club Manchester City at the end of his loan spell.
Charlton were largely disappointing and could only muster two shots on goal.
Wednesday had already gone close to opening the scoring through David Prutton and Anthony Gardner before McCabe struck with his first senior goal.
Prutton forced Charlton goalkeeper Ben Hamer into making a fine save, while Gardner unleashed two fierce shots.
The Owls took the lead when a corner was cleared to McCabe, who left Hamer with no chance from 20 yards out.
Michail Antonio had further chances for the hosts before the break, while the visitors failed to threaten the Wednesday goal.
Charlton were convinced they should have had a penalty when Yann Kermorgant tangled with Gardner after 37 minutes, and manager Chris Powell's protests to referee Gary Sutton saw him sent off at half-time.
Substitute Ricardo Fuller's shot in the 69th minute, blocked by Miguel Llera, was Charlton's first on target.
Fuller had a shot on target late in the game, but Wednesday defender Lewis Buxton threw himself in the way to preserve the lead.
Helan pounced from close range in the fourth minute of injury time to secure the three points and Wednesday's second win in a row.
Sheffield Wednesday manager Dave Jones: "We had a shaky start and they could have scored a goal in the first two or three minutes but after that we sorted ourselves out and I thought we were worthy winners in the end.
"There's a long way to go and we're fighting for our lives. What we maybe lack sometimes in terms of a little bit of quality, we make up for in endeavour and commitment and that's all you can ask for."
Charlton manager Chris Powell said: "There were a number of incidents that angered me during the first half and I went to the referee at half-time and asked him about a penalty we didn't get. There was a goal ruled out for offside which was actually onside and there were also a number of fouls on my players.
"I was asking for consistency and fairness but I didn't swear at the referee or point at him. He sent me to the stand because he said it was for the image of the game. He said I'd left my technical area but it was half-time so what was I meant to do?"