Substitute Kazenga LuaLua rescued a point for Brighton after twice going behind against Charlton at The Valley.
The home side went ahead through Lawrie Wilson, who got a glancing header on to Dale Stephens's whipped cross.
Craig Mackail-Smith missed an easy chance by scooping over from close range, but soon equalised after the Addicks defence failed to clear.
Bradley Pritchard's first goal of the season restored Charlton's lead, before LuaLua stepped off the bench to level.
Charlton are now unbeaten in their last seven league games, climbing to 12th in the table, while Brighton miss out on making it into the play-off spots following the draw.
Wilson smartly headed home Stephens's cross just nine minutes into the encounter, and they should have doubled their lead, but Rob Hulse saw his header saved by former Manchester United goalkeeper Tomasz Kuszczak.
Mackail-Smith should have drawn the visitors level after being found by Gordon Greer, but somehow missed the target with his effort.
But moments later, he did find the net after Michael Morrison was unable to get rid of the ball.
Charlton went ahead again in the second half as Pritchard tucked home after Johnnie Jackson's low cross, but LuaLua was sent on by Gus Poyet and he saved the day as his shot deflected into the net.
Charlton manager Chris Powell:
"It's a point gained. It was a terrific 90 minutes, I suppose being 1-0 up and 2-1 up you wonder whether you could have held out but 2-2 was a fair result.
"We celebrated the day in the right way, it was just a shame we couldn't get the three points in the end. It was just a shame that the two goals we conceded were a mistake for the first one and a deflection for the second, but that's football and the fans got their money's worth.
"It's good for the players to know the history [of Charlton] and what people fought for when we had to go to Selhurst and Upton Park, and it was fitting that we were playing Brighton because they had been through the same thing as well [with their ground]."
Brighton manager Gustavo Poyet:
"A point is all right, I'm not saying I'm happy but I will take it. Sometimes you need to accept that things happen for a reason, like our second goal, I was absolutely mad about how close the wall was from the wall and we scored.
"The only problem we had was that we had to chase the game all the time. When you go down 1-0 you have to chase and you make mistakes.
"Then we scored and it looked like we had the game under control but we made a mistake and had to do it again."