The former Liverpool striker scored twice within six minutes to help the Trotters to only their second win in eight games, and condemn Chris Powell's men to their first away defeat since September 18.
Until the Frenchman's introduction the visitors looked most likely to break the deadlock, with Danny Haynes spurning two good opportunities, but it was Dougie Freedman's men who emerged with the three points.
The hosts were forced into making two changes before the game with injured duo Matt Mills and Mark Davies replaced by Tyrone Mears and Jacob Butterfield.
Powell also made a couple of alterations to his side, with Bradley Pritchard making way for Dan Seaborne and Yann Kermorgant recalled in place of Rob Hulse.
It was Freedman's side who carved out the best chance in the opening stages, with Chung-Yong Lee playing a neat one-two with Chris Eagles before side-footing wide after 10 minutes.
At the other end, Dale Stephens' through ball released Haynes clear on goal, but a crucial last-ditch tackle from Mears denied the Charlton number nine, just as he was set to pull the trigger.
Powell's men had goalkeeper Ben Hamer to thank for keeping the scores level soon after, as the former Reading trainee reacted quickly to deny Eagles' swivel shot with an instinctive close-range save.
Nine minutes before the break, Haynes had a second opportunity to open the scoring after Lawrie Wilson stood up a right-wing cross, but he headed wide when well-placed.
The away side continued to find joy on the break, with Adam Bogdan needing to be alert to keep out Kermorgant's left-footed strike.
Both teams struggled to find any fluency after the interval, with Kermorgant's 55th-minute wayward header the closest either side came to breaking the deadlock.
But it was Freedman's double change eight minutes later, replacing Chung-Yong Lee and Butterfield with Martin Petrov and Ngog, which would prove to be pivotal.
The substitution failed to make an immediate effect, indeed the Addicks continued to threaten, with Haynes' shot from a tight angle forcing Bogdan into an important save.
But the Trotters pair were soon able to combine, as Petrov fed the ball into Ngog, who beat two defenders before poking the ball past Hamer to give the hosts a vital lead in the 74th-minute.
The Frenchman secured the victory six minutes later, exchanging passes with Kevin Davies before drilling the ball into the back of the net.
The London club were unable to bounce back from the double blow as their seven-match unbeaten run came to an end, and the home side held on to only their third clean sheet of the season.
- Sports & Recreation
- Danny Haynes
- Dougie Freedman
- Chris Powell
- Yann Kermorgant
- Tyrone Mears