Kagisho Dikgacoi's strike gave Crystal Palace their first league win against Charlton at The Valley since 1968.
The South African midfielder lashed home just after the break as Palace, who lost their opening three games, recorded a second successive win.
Charlton thought they had taken the lead on the half-hour through Bradley Wright-Phillips, only for the goal to be harshly disallowed for offside.
- Charlton had won seven of the previous nine league meetings with Palace, losing only one
- The Addicks went into the game having picked up 19 points out of 21 in the last seven home matches
The result sees the Eagles leapfrog their south London rivals in the table.
Palace could have been two up in the opening 10 minutes as winger Wilfried Zaha tormented the home defence with his strength, pace and skill.
Zaha's first pull-back from the goal-line was blasted over by Dikgacoi.
Moments later, another powerful weaving run and cross found Glenn Murray, whose effort was blocked by Addicks keeper Ben Hamer before Leon Cort hacked Owen Garvan's follow-up off the line.
The home side fought their way back into the match, though, and they were denied when Cort nodded Lawrie Wilson's free-kick to Wright-Phillips.
The striker, watched by father and Palace legend Ian Wright in the stands, appeared to be onside as he buried a header past Julian Speroni, but the linesman's flag cut his celebrations short.
The hosts were well on top as the first half came to a close with Yann Kermorgant heading Johnnie Jackson's cross wide and Dale Stephens, who saw a deadline-day move to Aston Villa fall through, driving narrowly over.
An end to away-day woes
- This was Palace's first league win on the road in 2012, and victory only came at their 13th attempt
But it was Palace who took the lead five minutes after the interval when Charlton failed to deal with Garvan's corner.
Damien Delaney was unmarked as he headed the ball back to Dikgacoi, and the former Fulham midfielder crashed the ball past Hamer from 12 yards.
The hosts, trying to protect an unbeaten home league record stretching back to March, blew a fine opportunity to level after 71 minutes when Cort nodded another Wilson free-kick downwards but Danny Hollands scuffed wide.
In four dramatic minutes of stoppage time Charlton substitute Ricardo Fuller, recently signed after being released by Stoke, had a deflected effort tipped on to the bar by Speroni.
Addicks keeper Hamer charged into the box for the resulting corner and, but for Garvan defending on the goal-line, would have scored an amazing headed equaliser.
Still there was more drama, though, as Hamer went for an audacious overhead kick from the rebound.
But the ball fell to safety, and the visitors went home with all three points.
- 01 Hamer
- 05 Morrison
- 16 Wiggins (Wilson - 22' Booked )
- 20 Solly
- 28 Cort
- 04 Jackson (Fuller - 58' )
- 08 Stephens Booked
- 14 Pritchard (Green - 77' )
- 22 Hollands
- 10 Wright-Phillips
- 18 Kermorgant
- 27 Button
- 44 Dervite
- 07 Green
- 23 Wilson
- 12 Kerkar
- 19 Fuller
- 34 Smith
- 01 Speroni
- 27 Delaney
- 28 Ramage
- 04 Parr
- 07 Bolasie Booked (Williams - 74' )
- 08 Dikgacoi
- 10 Garvan
- 14 Blake
- 15 Jedinak Booked
- 16 Zaha (Ward - 90' )
- 17 Murray Booked (Wilbraham - 87' )
- 34 Price
- 02 Ward
- 21 Moxey
- 20 Williams
- 30 Moritz
- 09 Goodwillie
- 18 Wilbraham