Pompey failed to extend the gap on promotion rivals Charlton after going down to a 2-1 defeat at The Valley.
The hosts went ahead through Joe Aribo just before the break, only for Ronan Curtis to hit back with an immediate equaliser.
But Lyle Taylor restored the Addicks’ advantage early in the second half and despite a late rally from the visitors, they held on for the victory.
Kenny Jackett stuck with the same side that fired five goals past Bradford on home soil the previous week.
Nathan Thompson, Matt Clarke, Oli Hawkins and Ronan Curtis all went off injured last Saturday, but were passed fit to play.
Pompey started brightly and a dangerous delivery from Jamal Lowe was just out of reach for Curtis at the back post.
A cross-field pass from Clarke was soon nodded on first by Thompson and then Hawkins, but Lowe’s effort was blocked before it could trouble Dillon Phillips.
Charlton slowly started to take control of the contest, however, and looked lively without being able to test Craig MacGillivray.
When Thompson was dispossessed in the middle of the park, it took a fine challenge from Clarke to deny Jonny Williams.
And the hosts should have broken the deadlock on 20 minutes following a neat passing move wide on the left.
Williams played a quick one-two with Aribo and sent the ball into the centre to give Josh Cullen a simple close-range finish, only for his shot to hit the back of team-mate Igor Vetokele and fly clear.
Tom Naylor then diverted a Patrick Bauer effort past the post, while efforts from Taylor and Cullen were off target.
Clarke – who is normally so positive in possession – lost the ball to Krystian Bielik, although Taylor’s shot was comfortably kept out by MacGillivray.
But Charlton did make their pressure count late in the first half, as Aribo collected Cullen’s pass, turned sharply and drilled the ball home.
There was, however, still time for the Blues to level before the break, with CURTIS racing forward to convert Lee Brown’s corner with a thumping header.
Charlton Athletic 1
The Addicks made a strong start to the second half, although it was the visitors who had the ball in the net on 49 minutes.
Lowe’s shot was diverted into the net by Curtis from a few yards out, although a flag was immediately raised for offside.
Charlton did score soon after, however, to restore their lead after Clarke had attempted to clear Aribo’s cross.
But the ball ricocheted to the feet of substitute Ben Reeves and he squared it for Taylor to convert from close range.
Pompey made a positive reaction to falling behind again, although were unable to capitalise on dangerous deliveries from Lowe and Gareth Evans.
Jackett then made a double switch just past the hour mark, with Hawkins and Ben Close withdrawn for James Vaughan and Dion Donohue.
Pompey were trying to get the ball forward and persistence from Curtis and Vaughan forced Naby Sarr to make an error, but the defender recovered to scramble clear.
The Addicks then came close to extending their advantage, with MacGillivray getting down low to his right to keep out Bauer’s effort.
Donohue released Evans down the left with a fine pass on 73 minutes and the skipper tried to score from a tight angle, but instead fired wildly off target.
Brett Pitman replaced Evans soon after, as the club captain took up residence just behind fellow Vaughan in the forward line.
And he almost provided a leveller late on, with a fine ball into the box that was sent across the face of goal by Lowe and agonisingly out of reach for Curtis to convert.
A dipping long-range effort from Pitman was not too far over the bar, as the Blues started to look a real threat.
It was a vibrant end to the contest from the visitors, with Lowe and Pitman seeing shots blocked inside the box in quick succession.
But despite pushing Charlton back deep for the final stages, the hosts held on to close the gap on Pompey to two points.
Charlton (4-1-2-1-2): Phillips; Dijksteel, Bauer (c), Sarr, Purrington; Bielik (Reeves 46); Cullen, Aribo; Williams (Fosu 59); Vetokele (Pratley 84), Taylor
Goals: Aribo 41, Taylor 51
Subs not used: Maxwell, Solly, Lapslie, Parker
Pompey (4-1-4-1): MacGillivray; Thompson, Burgess, Clarke, Brown; Naylor; Lowe, Evans (c) (Pitman 76), Close (Donohue 61), Curtis; Hawkins (Vaughan 61)
Goals: Curtis 45
Booked: Hawkins, Burgess, Naylor
Subs not used: Bass, Walkes, Haunstrup, Solomon-Otabor
Referee: Roger East
Attendance: 14,451 (3,097 Pompey fans)