More on KentOnline
Charlton celebrated 25 years since returning to The Valley on Saturday but were unable to mark the occasion with a win in League 1.
Instead visitors Portsmouth - beaten 1-0 when the teams met in December 1992 - recorded victory by the same scoreline to spoil the party.
To make matters worse for Charlton, the winner came courtesy of a Josh Magennis own goal early in the second half.
It took nearly half an hour of an entertaining first half for either team to register a shot on goal. Charlton keeper Ben Amos turned over Gareth Evans' long-range shot and Stuart O'Keefe shot just over when the resulting corner was half-cleared.
Evans again went close as Pompey looked a threat going forward thanks to the neat link-up play of front man Brett Pitman.
Charlton's first attempt came on 35 minutes as Ricky Holmes was set up by Jay Dasilva, keeper Luke McGee turning his shot over for a corner.
Addicks skipper Chris Solly did well to block Conor Chaplin's low shot as Pompey broke with pace before O'Keefe's follow-up was deflected for a corner.
Charlton nearly went ahead just before the break but Dasilva's shot was turned over.
It took Portsmouth just two minutes of the second half to go ahead. Evans delivered a dangerous free-kick to the far post where the unfortunate Magennis turned the ball into his own net.
Pitman should have doubled the lead on 55 minutes but he shot over from Brandon Haunstrup's cross after excellent approach play from the visitors.
Pitman had an even better opportunity on 66 minutes when Portsmouth were presented with a penalty. Solly needlessly held Pitman at the far post and referee Andrew Madley rightly pointed to the spot.
But Amos came to Charlton's rescue, diving low to his left to keep out the spot-kick.
Charlton huffed and puffed and finally put bodies forward following three late substitutions but they were unable to fashion a clear-cut chance until the 89th minute, Portsmouth defending any aerial balls into the penalty area particularly well.
That opening fell to substitute Leon Best but his low header was well kept out by McGee.
Charlton: Amos, Marshall (Best 82mins), Magennis, Clarke (Ahearne-Grant 75mins), Holmes, Konsa, Aribo (Reeves 87mins), Forster-Caskey, Solly, Dasilva, Sarr. Subs not used: Phillips, Jackson, Pearce, Lennon.
Portsmouth: McGee, Rose, Clarke, Burgess, O'Keefe, Pitman, Lowe, Chaplin (Bennett 46mins), Thompson, Evans, Haunstrup. Subs not used: Bass, Kennedy, Main, Talbot, May, Casey.
Attendance: 16,361 (3,870 away fans).