Charlton further dented Portsmouth's hopes of achieving automatic promotion from League One as Lyle Taylor scored the winner in a 2-1 win at The Valley on Saturday evening.
A moment of class from Joe Aribo, in which he stylishly tucked home Josh Cullen's pass, gave Charlton a deserved lead after 41 minutes, before Ronan Curtis' thumping header (45) levelled the tie at the break.
Lee Bowyer's men regained a deserved lead just six minutes after the restart when Taylor prodded home an improvised cross from substitute Ben Reeves, but though Pompey improved, they couldn't find an all-important equaliser.
Charlton: Phillips (6), Dijksteel (6), Sarr (6), Bauer (6), Purrington (6), Bielik (6), Cullen (7), Aribo (8), Williams (7), Vetokele (5), Taylor (7)
Subs: Reeves (7), Fosu (5), Pratley (n/a)
Portsmouth: MacGillivray (6), Thompson (5), Burgess (5), Clarke (6), Brown (5), Naylor (5), Close (5), Lowe (6), Evans (6), Curtis (7), Hawkins (5)
Subs: Donohue (5), Vaughan (5), Pitman (6)
Man of the match: Joe Aribo
Kenny Jackett's Pompey now sit eight points adrift of second-placed Barnsley, while fifth-placed Charlton boast an eight-point lead of their own over Doncaster.
Both sides were looking to strengthen their standpoint in League One's top six heading into a fixture, which, 12 years ago, would have taken place in the Premier League, and it was the Addicks who weathered an early storm to dominate proceedings in the first half.
They should have led after 20 minutes, but for a moment of misfortune; Cullen found space for a shot after Jonny Williams' pass into the penalty area yet he was denied the opener after team-mate Igor Vetokele inadvertently blocked his effort.
The game sparked into life in the final five minutes of the half. Aribo showed just why he's being tracked by top-flight clubs after a slick touch, swivel and strike past Pompey 'keeper Craig MacGillivray, but Curtis powered home a brilliant headed equaliser from Lee Brown's corner.
Known for their desire to attack teams early on, the late equaliser failed to halt the Addicks momentum and after 51 minutes, Taylor netted his 16th of the season after Reeves - a half-time replacement for Krystian Bielik - squared for him following a fortunate bounce.
Lee Bowyer - who served the second of a three-match ban for the fixture - swapped Chris Solly for Anfernee Dijksteel at right-back, while Portsmouth boss Kenny Jackett named the same lineup that beat Bradford 5-1 last time out.
Pompey's chances became more frequent in the closing period of the game; MacGillivray produced a smart low save to keep out Patrick Bauer's volley and with eight minutes to play, Lowe sent Brett Pitman's diagonal ball agonisingly across the face of goal.
In the dying seconds, both Lowe and Pitman hit powerful strikes from inside the Charlton penalty area, but brave defending from Bauer and Ben Purrington, respectively, kept the visitors at bay.
Man of the match - Joe Aribo
Not only did he score the game's first goal with a cool swivel and finish, but the 22-year-old former Staines midfielder also turned in a superb performance that will have, no doubt, given his top-flight suitors further justification he's capable of playing at the highest level.
Lee Bowyer: "I think it's fair to say we deserved to win the game and we should have won by more. Josh Cullen had the chance early on in the first half when he hit Igor on the back, but that's what's been happening with us lately.
"We've been getting draws because of things like that; just not being clinical in front of goal, but thankfully, the most important thing is that we got the three points."
Kenny Jackett: "There were some big moments - we conceded the second goal when we were down to 10 men. It's nobody's fault if a player goes off the field like Gareth Evans does, but we're quite a long time with 10 men and we've conceded in that period.
"We had some big chances after that, I did think Charlton were good. They were good in midfield, they are strong the way they play and...that's something I don't think we really got to grips with."
Both sides are back in action on Tuesday evening. Charlton host Burton at The Valley, while Portsmouth travel to the Midlands to face Walsall at the Banks's Stadium.