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.
Milestone looming for Addicks
Charlton are now one point short of 4,000 in league football
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."
Shot by Dorian Dervite from deep inside the penalty area misses to the left of the goal.
Bradley Pritchard sends in a cross.
Outswinging corner taken by Liam Bridcutt from the right by-line, Gordon Greer takes a shot. Save by Ben Hamer. Corner taken right-footed by Liam Bridcutt, save made by Ben Hamer.
A cross is delivered by Will Buckley.
Wayne Bridge takes a shot. Ben Hamer makes a save.
Michael Morrison takes a shot. Tomasz Kuszczak makes a comfortable save.
Ashley Barnes concedes a free kick for a foul on Robert Hulse. Salim Kerkar restarts play with the free kick.
Craig Mackail-Smith produces a cross.
Free kick awarded for an unfair challenge on Lawrie Wilson by Kazenga LuaLua. Ben Hamer takes the free kick.
Free kick awarded for an unfair challenge on Dean Hammond by Dale Stephens. Kazenga LuaLua takes the direct free kick, Liam Bridcutt takes a shot. Blocked by Bradley Pritchard.
Free kick awarded for an unfair challenge on Inigo Calderon by Robert Hulse. Gordon Greer takes the free kick.
Ashley Barnes challenges Emmanuel Frimpong unfairly and gives away a free kick. Ben Hamer takes the direct free kick.
The ball is crossed by Kazenga LuaLua, Ben Hamer makes a save.
Centre by Dale Stephens, Dean Hammond makes a clearance.
Substitution Salim Kerkar on for Johnnie Jackson.
The official flags Robert Hulse offside. Free kick taken by Tomasz Kuszczak.
Free kick awarded for an unfair challenge on Emmanuel Frimpong by Kazenga LuaLua. Direct free kick taken by Lawrie Wilson.
Header from deep inside the penalty area by Ashley Barnes goes harmlessly over the crossbar.
Robert Hulse challenges Adam El-Abd unfairly and gives away a free kick. Direct free kick taken by Adam El-Abd.
Substitution Inigo Calderon on for Bruno Saltor.
Assist by Liam Bridcutt.
74:31 Goal scored
Goal! - Kazenga LuaLua - Charlton 2 - 2 Brighton Kazenga LuaLua fires in a goal from just outside the box low into the middle of the goal. Charlton 2-2 Brighton.
Substitution Yann Kermorgant comes on in place of Danny Haynes.
Foul by Michael Morrison on Ashley Barnes, free kick awarded.
Assist by Johnnie Jackson.
69:23 Goal scored
Goal! - Bradley Pritchard - Charlton 2 - 1 Brighton Bradley Pritchard finds the net with a goal from inside the six-yard box to the bottom right corner of the goal. Charlton 2-1 Brighton.
Strike comes in from Kazenga LuaLua from the free kick, blocked by Dorian Dervite. Craig Mackail-Smith takes a shot. Corner taken right-footed by Liam Bridcutt. Blocked by Dorian Dervite.
Substitution Kazenga LuaLua comes on in place of Will Hoskins.
Booking Lawrie Wilson is booked.
Lawrie Wilson challenges Will Hoskins unfairly and gives away a free kick.
Dale Stephens takes a shot. Save made by Tomasz Kuszczak.
Free kick crossed right-footed by Dale Stephens from right channel.
Booking Dean Hammond receives a caution for unsporting behaviour.
Dean Hammond concedes a free kick for a foul on Dale Stephens.
Substitution Ashley Barnes on for Stephen Dobbie.
Will Buckley produces a right-footed shot from just outside the box that misses to the right of the net.
Bradley Pritchard takes a shot. Tomasz Kuszczak makes a comfortable save.
Stephen Dobbie decides to take a short corner, save by Ben Hamer.
Corner taken short by Stephen Dobbie, clearance by Johnnie Jackson.
Close range shot by Stephen Dobbie goes over the bar.
The assistant referee flags for offside against Will Hoskins. Direct free kick taken by Ben Hamer.
Unfair challenge on Liam Bridcutt by Johnnie Jackson results in a free kick. Tomasz Kuszczak restarts play with the free kick.
Robert Hulse takes a shot. Tomasz Kuszczak makes a save.
Stephen Dobbie produces a right-footed shot from just outside the box that goes wide right of the goal.
Stephen Dobbie has an effort at goal from just inside the box that misses to the right of the goal.
Corner taken short by Stephen Dobbie. Will Buckley takes a shot. Ben Hamer makes a save.
Emmanuel Frimpong challenges Will Buckley unfairly and gives away a free kick. Bruno Saltor takes the free kick. Emmanuel Frimpong concedes a free kick for a foul on Will Buckley. Bruno Saltor restarts play with the free kick.
The assistant referee signals for offside against Craig Mackail-Smith. Ben Hamer takes the direct free kick.
The ball is sent over by Lawrie Wilson, Adam El-Abd makes a clearance.
Bruno Saltor challenges Robert Hulse unfairly and gives away a free kick. Free kick crossed by Dale Stephens, clearance made by Will Hoskins.
The game restarts for the second half.
45:00 +0:54 Half time
Half Time The referee calls an end to the first half.
Bruno Saltor produces a cross, clearance by Johnnie Jackson.
Free kick awarded for an unfair challenge on Will Hoskins by Danny Haynes. Direct free kick taken by Wayne Bridge.
Dale Stephens has an effort at goal from outside the penalty box missing to the wide right of the target.
A cross is delivered by Dale Stephens, Unfair challenge on Bruno Saltor by Johnnie Jackson results in a free kick. Direct free kick taken by Tomasz Kuszczak.
Danny Haynes has an effort at goal from the edge of the box that misses to the right of the target.
Unfair challenge on Emmanuel Frimpong by Dean Hammond results in a free kick. Ben Hamer takes the free kick.
Unfair challenge on Danny Haynes by Will Hoskins results in a free kick. Johnnie Jackson crosses the ball in from the free kick, comfortable save by Tomasz Kuszczak.
27:06 Goal scored
Goal! - Craig Mackail-Smith - Charlton 1 - 1 Brighton Craig Mackail-Smith fires in a goal from inside the box to the bottom right corner of the goal. Charlton 1-1 Brighton.
Short corner taken by Will Buckley from the right by-line, Wayne Bridge takes a long range shot clearing the crossbar.
Lawrie Wilson crosses the ball.
A cross is delivered by Johnnie Jackson.
Bradley Pritchard takes a shot. Dean Hammond gets a block in. Unfair challenge on Gordon Greer by Robert Hulse results in a free kick. Direct free kick taken by Tomasz Kuszczak.
Free kick awarded for an unfair challenge on Will Hoskins by Lawrie Wilson. The free kick is swung in right-footed by Stephen Dobbie, Dale Stephens makes a clearance.
Will Hoskins fouled by Emmanuel Frimpong, the ref awards a free kick. Direct free kick taken by Liam Bridcutt.
Effort from 12 yards by Stephen Dobbie. Save by Ben Hamer.
Liam Bridcutt fouled by Robert Hulse, the ref awards a free kick. Liam Bridcutt restarts play with the free kick.
Will Buckley decides to take a short corner.
Inswinging corner taken by Bruno Saltor, Shot by Dean Hammond from just outside the area goes over the net.
Emmanuel Frimpong concedes a free kick for a foul on Adam El-Abd. Free kick crossed left-footed by Dean Hammond, inswinging corner taken from the right by-line by Johnnie Jackson. Clearance by Wayne Bridge.
Headed effort from deep inside the penalty area by Robert Hulse goes harmlessly over the crossbar. Johnnie Jackson takes a short corner, Header from deep inside the penalty area by Michael Morrison goes harmlessly over the crossbar.
Johnnie Jackson provided the assist for the goal.
8:53 Goal scored
Goal! - Lawrie Wilson - Charlton 1 - 0 Brighton A goal is scored by Lawrie Wilson from outside the box to the bottom right corner of the goal. Charlton 1-0 Brighton.
Short corner taken by Dale Stephens from the left by-line,
Lawrie Wilson takes a shot. Clearance by Adam El-Abd.
Inswinging corner taken by Johnnie Jackson from the right by-line.
Free kick awarded for a foul by Johnnie Jackson on Will Hoskins. Stephen Dobbie takes the direct free kick.
Will Buckley gives away a free kick for an unfair challenge on Johnnie Jackson. Johnnie Jackson takes the direct free kick.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.