Charlton completed a double over Portsmouth as they opened up an eight-point cushion over seventh-placed Peterborough in the race for the League One play-offs.
The Addicks excelled in-front of the Sky Sports cameras as they extended an unbeaten home league run that stretches back to early October.
Man-of-the-match Joe Aribo’s smart finish opened the scoring shortly before half-time for the hosts but they were immediately pegged back by Ronan Curtis.
Lyle Taylor’s first goal in almost two months had the Addicks back ahead shortly after the break and they weathered a late storm to hold on to a hugely deserved three points.
Lee Bowyer watched on from the stands as the Addicks boss served the second of his three-match ban but he would have been delighted from what he saw from his lofty vantage point.
Patrick Bauer did well to block Jamal Lowe’s effort as the visitors created the first opening but the Addicks would go on to dominate large spells of the first-period.
An inadvertent block from a teammate prevented Josh Cullen from edging the Addicks on twenty minutes. Jonny Williams burst into the left-hand side of the area, squaring for the West Ham loanee. His side-footed shot had Craig MacGillivray beaten all-ends-up but the ball rebounded off Igor Vetokele’s back and Pompey hacked it clear.
Aribo was next to come close after wriggling free from a corner but placing his header over the bar. Cullen dribbled a half-volley wide after Vetokele laid it off to him with his chest before Lee Bowyer’s side finally broke the deadlock five minutes before the interval.
Cullen played the ball to Aribo’s feet inside the area, but with his back to goal he managed to turn and fire across the face of the target and in at the far-post, notching his sixth goal of the campaign.
The lead only lasted four minutes, with Curtis unmarked from a corner to bring Pompey onto level terms with one of their first sights of goal since the opening minutes.
Krystian Bielik was replaced by Ben Reeves at half-time after the Arsenal loanee suffered with an injury towards the end of the period.
Former Millwall boss Kenny Jackett’s men had a goal ruled out for a clear offside in the opening exchanges of the second-half but it was the home side who would regain their lead moments later.
A slick move ended with Reeves charged down as he looked to finish, but the ball fell kindly for Taylor to prod home his 16thof the campaign in all competitions but his first in five outings.
Jonny Williams soon became the second Addicks man withdrawn due to injury. Tariqe Fosu came on in his place and he may have done better soon after as he drag an effort wide of the near-post from an angle.
MacGillivray showed some sharp reactions to keep out a volley from defender Patrick Bauer as the German defender was laid off by Taylor eight yards out.
Pompey, who had only won once in their last nine games before this evening, started to press as we entered the closing stages and should have drawn level five minutes from time.
Lowe peeled away from a deep-cross but somehow touched wide of Phillips’ far-post.
Brett Pittman curled over from range as Pompey became increasingly desperate but only a remarkable block from Bauer prevented them from grabbing a point late on.
The defender threw himself of Lowe’s injury-time strike to secure a valuable three points and extend Charlton’s unbeaten home record to 12 league games.