Conor McGrandles scored a stoppage-time equaliser to earn Charlton a 2-2 draw at League One leaders Portsmouth in a pulsating game at Fratton Park.
Abu Kamara put Pompey ahead at the break and, after Alfie May levelled in the 71st minute, Colby Bishop quickly restored the lead from the spot.
But McGrandles struck in the third minute of added time to earn the Addicks a point.
Pompey’s early bombardment bore little fruit, with just an Alex Robertson effort to show for it.
Charlton grew more into the game and could have gone ahead with efforts from Miles Leaburn and May.
But in the 32nd minute Kamara fired beyond Ashley Maynard-Brewer from 20 yards to put Pompey ahead after a half-cleared corner.
Pompey were close to a second in the 57th minute when a Bishop header was pushed brilliantly over the crossbar by Maynard-Brewer.
Kamara and Bishop both hit the bar before Charlton equalised when May drove a shot between Will Norris’ legs.
Pompey regained the lead with a 76th-minute penalty after Maynard-Brewer clattered into Paddy Lane and Bishop scored the spot-kick.
But Charlton refused to lay down and McGrandles headed home to salvage a point.