Charlton went level on points with league leaders Sheffield United after a hard-fought win over 10-man Exeter.
The visitors had Daniel Nardiello sent off after only 20 minutes for protesting too much that his shot had crossed the line.
Charlton struggled to make the most of their advantage until Bradley Wright-Phillips fired past Lenny Pidgeley after an interchange with Paul Hayes.
Dale Stephens converted a Wright-Phillips cross to secure the points.
VIEWS FROM THE DRESSING ROOM
Charlton boss Chris Powell told BBC London 94.9:
"After the last two home games, two draws - you want to win games at home and get clean sheets and that's what we got today.
"It was a case of being patient today. We got the goal at a crucial time - it was a fantastic goal thanks to good combination play.
"We got the home win and move up into the top two. It's early days but still looking positive for us."
Exeter City manager Paul Tisdale told BBC Radio Devon:
"I feel slightly wronged if the ball did cross the line.
"It wouldn't be the first disallowed goal or contentious issue in football.
"It looked obvious they were going to get on top."