Watford secured successive league wins for the first time under Gianfranco Zola, despite Fernando Forestieri's controversial first-half sending off.
Tommie Hoban put the Hornets in front midway through the opening period, only for Ricardo Fuller to equalise for Charlton 10 minutes before half-time.
Watford suffered a further setback when Forestieri was shown a second yellow card for diving.
But they snatched the points thanks to Almen Abdi's 70th-minute free-kick.
It was the dismissal of Forestieri that was the main talking point at the final whistle, however.
The on-loan Italian midfielder picked up his first booking early in the match and was handed his marching orders in stoppage time at the end of the first half as referee Mike Dean adjudged him to have taken a tumble in the box.
Forestieri had helped Watford go ahead after 29 minutes as his corner was nodded home by 18-year-old Hoban in what was only his third first-team appearance for the Hornets.
The lead lasted only six minutes, though, as Charlton struck back, Dale Stephens threading a defence-splitting pass to Fuller, who buried it in the bottom right-hand corner.
With Watford reduced to 10 men, Charlton's numerical advantage allowed them to dominate the majority of the second half, with Bradley Wright-Phillips denied by Manuel Almunia shortly after the restart.
Wright-Phillips curled over under pressure from Neuton as Charlton continued to press, before Almunia saved another effort from the striker with his feet.
Chris Powell's side may have bossed the second period but they fell behind with 20 minutes remaining when Abdi expertly curled home a 25-yard free-kick.
Troy Deeney then saw an attempt to double the Hornets' lead well saved as the game became an increasingly tense affair.
Charlton camped themselves in the Watford half as they pushed for a late leveller but could not find a way through, with Stephens coming closest from 20 yards.
Watford manager Gianfranco Zola: "I've seen the video and spoken to Fernando. He told me that he just slipped and that he didn't dive. If you watched the game we played at Huddersfield the other day, in the first half he kept slipping.
"I keep telling him off and telling him to change his boots. He is Argentinian and likes his boots without big studs and on this pitch it was slippy. He keeps doing the same mistake but I don't think he wanted to dive.
"It was a pity Mike [Dean] saw it as a dive and it was disappointing as he was playing a good match. I told him that I don't want him diving and if I find out he is diving he is not going to play, but he said he didn't dive and I have faith in my players."
Charlton manager Chris Powell: "I always knew it was going to be tough. That is just how this league is.
"It is unforgiving and tonight we have been hurt by two set plays. I think Ben Hamer only had two saves to make and we've lost the game. We've had 15 chances but only taken one so you have to try to be as clinical as you can. It is going to be a tough old season, no doubt about it.
"There will be a few ups, a few downs but you've just got to keep going."