Ricardo Fuller's moment of magic helped Charlton extend their unbeaten run to five matches at the expense of bottom-place Peterborough.
- Related Content
The Addicks came into the match buoyed by a return of 10 points from their past four matches, which had propelled them up to 15th in the npower Championship.
Chris Powell's men impressed in the first half at The Valley but failed to take their chances, with Bradley Pritchard then hitting the post moments after the restart.
That header jolted Peterborough into life and they looked more likely to win until taking a sucker punch 13 minutes from time when Fuller fired in a fine effort from 25 yards.
Unfortunately the Jamaican had to be brought off immediately afterwards due to injury, but Charlton fans were soon cheering again as Yann Kermorgant tapped home a late second goal.
It was the Frenchman's first start since mid September and he quickly made his mark in south London, testing Bobby Olejnik inside the opening two minutes.
The former Aston Villa goalkeeper denied Kermorgant's snapshot and then saw a Emmanuel Frimpong effort deflect just over his crossbar.
After Leon Cort did excellently to turn away an effort from on-loan Dwight Gayle at the other end, Arsenal's Frimpong again came close from distance as Charlton continued to press for an early opener.
Johnnie Jackson should have done better with a close-range header in the 17th minute, before Addicks goalkeeper Ben Hamer stopped a fizzing Michael Bostwick strike.
Pritchard was denied when Charlton returned to the attack, before Michael Morrison was booked, ruling him out of Saturday's derby clash at Millwall.
It epitomised the home side's increasing frustration as they struggled to break down Peterborough's resolute defence, with Fuller thwarted by Olejnik's legs when he did eventually find space.
Peterborough ended the half on top and, after Gayle headed over a chance to mark his full debut with a goal, Hamer had to flick over a George Boyd strike.
Kermorgant sent a diving header wide shortly when the sides returned for the second half, before Pritchard's close-range header rattled the post.
Those efforts seemed to spur Darren Ferguson's side into life, with Hamer forced into action to stop a low Lee Tomlin hit.
George Thorne put wide and then Gayle was denied as Posh continued to threaten, before Boyd's shot deflected off Tomlin onto the post.
Peterborough rained in shots as they controlled the play, with Tomlin denied a 72nd-minute penalty.
The 518 visiting fans were in good voice and looked set to leave with a point or better until Fuller lashed home from distance five minutes later.
While the summer signing had to hobble off immediately, Powell's side were celebrating again five minutes from time when Kermorgant turned in substitute Danny Green's right-wing cross.