Pompey spoiled Charlton’s party as they snaffled a 1-0 win at The Valley.
Josh Magennis’ 47th-minute own goal was the difference on the Addicks’ 25th anniversary of the return to their home.
Brett Pitman’s 65th-minute penalty miss meant little on an afternoon to delight the 3,780 travelling fans in the capital.
The win is the first time Kenny Jackett’s men have beat a side above them in the table this season, as they close in on the play-offs.
And it’s a sixth win in seven as the Blues’ campaign continues to gather pace.
Pompey soaked up the early pressure from the home side and looked largely comfortable.
It took until the 29th minute for the visitors to fashion a chance as Gareth Evans’ 25-yarder was tipped over.
Then Stuart O’Keefe’s shot from the edge of the box was deflected wide.
A powerful counter-attack led by Jamal Lowe ended with Conor Chaplin’s shot being blocked nine minutes before the break.
That was 60 seconds after the lively Ricky Holmes’ shot was tipped over by Luke McGee, as he faced his old club.
Charlton went close two minutes before the break as Joe Aribo headed just wide.
But the opener came from the visitors two minutes after the restart, as Magennis appeared to get the final touch from Evans’ free-kick.
That was the start of a period of Pompey pressure but Jackett’s men couldn’t get the killer second goal.
A golden chance to do so was passed up after 65 minutes, when Pitman missed a spot-kick after being fouled by Chris Solly as Ben Amos dived full-length to his left.
There was pressure to contend with as the flow of the game changed after the penalty miss - and a big late save from McGee to keep out Leon Best’s header.
But Pompey held on to seal a hard-earned victory which had the visiting fans singing of promotion.