Yann Kermorgant silenced the jeers of the Leicester fans by firing Charlton to victory over his former club.
The French striker was booed by the away support when his name was read out before kick-off.
But he struck Charlton's second goal after Bradley Wright-Phillips had opened the scoring.
Substitute Andy King pulled one back for Leicester in the second half - but it was a miserable 49th birthday for their manager Nigel Pearson.
Charlton paraded Ricardo Fuller on the pitch at half-time, having signed the former Stoke striker earlier in the day.
- Born: Vannes, France, 8 November 1981
- 2002-04: Vannes
- 2004-05: Chatellerault
- 2005-07: Grenoble
- 2007-09: Stade Reims
- 2009-11: Leicester
- 2010-11: Arles-Avignon (loan)
- 2011- : Charlton
Kermorgant left Leicester fans in agony in 2010 when he failed with an attempted chipped penalty as they lost to Cardiff in a Championship play-off semi-final shoot-out.
But he made no mistake against the Foxes when the ball fell to him in front of goal following a corner, confidently lashing it home before raising a finger to his lips in celebration.
That came after Charlton had taken the lead against the run of play in the 18th minute, when Wright-Phillips collected Bradley Pritchard's pass and turn on the edge of the penalty area to fire a superb low shot past keeper Kasper Schmeichel.
Schmeichel but smart saves to keep out Leon Cort and Wright-Phillips again, before Kermorgant struck from a Danny Hollands corner.
King pulled one back with a neat finish after being set up by fellow half-time substitute David Nugent.
Charlton keeper Ben Hamer then saved well from Lloyd Dyer twice and Anthony Knockaert before keeping out a stoppage-time header from Jamie Vardy.
Leicester City manager Nigel Pearson told BBC Radio Leicester:
"We should have won. In the first half we didn't react to turnovers quickly enough. We got caught on the counter-attack and conceded two poor goals. But in the second half, we totally bossed it and created enough opportunities to win.
"We've not taken our chances. I would say we've played some pretty good football but I'm not going to paper over cracks. The goals we conceded were soft and, ultimately, we've not taken any of our chances. We had plenty of opportunities to win a game.
"We didn't pick up enough second [phase] balls today. We didn't collectively do enough to limit their opportunities. The first goal was a poor goal. Our recovery from losing the ball was poor.
"We need a better all-round team performance. There were some very pleasing elements but there were some missed opportunities."
- 01 Hamer
- 05 Morrison
- 16 Wiggins
- 20 Solly
- 28 Cort
- 04 Jackson (Kerkar - 87' )
- 08 Stephens (Wilson - 81' )
- 14 Pritchard
- 22 Hollands
- 10 Wright-Phillips (Cook - 90' )
- 18 Kermorgant
- 13 Sullivan
- 06 Taylor
- 07 Green
- 17 Cook
- 23 Wilson
- 12 Kerkar
- 34 Smith
- 01 Schmeichel
- 02 De Laet
- 03 Konchesky
- 05 Morgan Booked
- 22 Moore
- 04 Drinkwater
- 07 Marshall (Knockaert - 64' )
- 11 Dyer
- 16 James (King - 46' )
- 09 Vardy
- 20 Beckford (Nugent - 46' )
- 13 Logan
- 08 Danns
- 10 King
- 24 Knockaert
- 14 Waghorn
- 18 Schlupp
- 35 Nugent
Live Text Commentary
Full Time The game is over, as the referee blows his whistle.90:00 +3:43
Corner from the left by-line taken by Anthony Knockaert, Bradley Pritchard makes a clearance.90:00 +2:01
Jamie Vardy takes a shot. Save made by Ben Hamer. Unfair challenge on Salim Kerkar by Wes Morgan results in a free kick. Direct free kick taken by Michael Morrison.89:26 Substitution
Substitution Jordan Cook replaces Bradley Wright-Phillips.86:31 Substitution
Substitution Salim Kerkar comes on in place of Johnnie Jackson.85:17
Wes Morgan challenges Bradley Wright-Phillips unfairly and gives away a free kick. Direct free kick taken by Johnnie Jackson.84:36
Lloyd Dyer takes a shot. Michael Morrison gets a block in.81:32
Long distance shot from Johnnie Jackson misses to the left of the target.81:14
Header by David Nugent from deep inside the penalty area misses to the right of the target.80:13 Substitution
Substitution Dale Stephens leaves the field to be replaced by Lawrie Wilson.80:13
Bradley Wright-Phillips gives away a free kick for an unfair challenge on Paul Konchesky. Kasper Schmeichel takes the free kick.76:45
Outswinging corner taken by Anthony Knockaert, clearance by Yann Kermorgant.76:26
Unfair challenge on Danny Drinkwater by Dale Stephens results in a free kick. Direct free kick taken by Danny Drinkwater.75:12
Liam Moore takes a shot. Save by Ben Hamer.72:57
Unfair challenge on Rhoys Wiggins by Anthony Knockaert results in a free kick. Ben Hamer takes the direct free kick.70:34
Unfair challenge on Yann Kermorgant by Danny Drinkwater results in a free kick. Direct free kick taken by Ben Hamer.66:20
Andy King takes a shot. Save by Ben Hamer.64:48
Lloyd Dyer takes a shot. Save by Ben Hamer.64:14
Inswinging corner taken from the left by-line by Dale Stephens, save by Kasper Schmeichel.63:07 Substitution
Substitution Anthony Knockaert joins the action as a substitute, replacing Ben Marshall.
David Nugent produces a right-footed shot from deep inside the penalty area which goes wide of the right-hand post.59:54
Lloyd Dyer gives away a free kick for an unfair challenge on Bradley Pritchard. Direct free kick taken by Ben Hamer.57:40
Shot on goal by Jamie Vardy from just inside the area goes over the target.55:33
Bradley Wright-Phillips has an effort at goal from just outside the area which goes wide of the left-hand post.52:48
Assist on the goal came from David Nugent.52:48 Goal scored
Goal! - Andy King - Charlton 2 - 1 Leicester Andy King finds the back of the net with a goal from inside the box to the bottom left corner of the goal. Charlton 2-1 Leicester.50:18
David Nugent takes a shot. Corner taken by Ben Marshall from the left by-line to the near post.47:03
The assistant referee flags for offside against Bradley Wright-Phillips. Free kick taken by Kasper Schmeichel.46:00
Unfair challenge on Yann Kermorgant by Wes Morgan results in a free kick. Strike on goal comes in from Johnnie Jackson from the free kick, Kasper Schmeichel makes a save.45:19 Substitution
Substitution Andy King is brought on as a substitute for Matty James.45:19 Substitution
Substitution Jermaine Beckford goes off and David Nugent comes on.45:01
The referee gets the second half underway.45:00 +3:07 Half time
Half Time It is the end of the first-half.45:00 +1:17
Left-footed shot by Jermaine Beckford missed to the right of the net.45:00 +0:33
Foul by Bradley Wright-Phillips on Ritchie De Laet, free kick awarded. Direct free kick taken by Paul Konchesky.44:43
Corner taken right-footed by Dale Stephens to the near post, Kasper Schmeichel makes a save.44:12
Free kick awarded for a foul by Lloyd Dyer on Bradley Pritchard. Direct free kick taken by Danny Hollands.41:45
Paul Konchesky produces a left-footed shot from just outside the penalty box that goes wide left of the target.41:00
Jermaine Beckford produces a right-footed shot from the edge of the area and misses to the left of the goal.40:07
Unfair challenge on Michael Morrison by Matty James results in a free kick. Direct free kick taken by Ben Hamer.38:59
Yann Kermorgant takes a shot. Save by Kasper Schmeichel.33:43
Liam Moore fouled by Yann Kermorgant, the ref awards a free kick. Free kick taken by Paul Konchesky.33:36 Booking
Booking Wes Morgan booked for unsporting behaviour.31:51
Assist by Danny Hollands.31:51 Goal scored
Goal! - Yann Kermorgant - Charlton 2 - 0 Leicester A goal is scored by Yann Kermorgant from inside the penalty area to the bottom left corner of the goal. Charlton 2-0 Leicester.30:24
Corner taken by Ben Marshall from the right by-line, Johnnie Jackson makes a clearance.28:05
Bradley Wright-Phillips takes a shot. Save made by Kasper Schmeichel. Corner taken left-footed by Johnnie Jackson, Matty James makes a clearance. Inswinging corner taken by Johnnie Jackson, Kasper Schmeichel makes a save.26:18
Unfair challenge on Bradley Pritchard by Matty James results in a free kick. Dale Stephens crosses the ball in from the free kick, clearance by Danny Drinkwater.23:35
Corner taken by Dale Stephens, Leon Cort takes a shot. Kasper Schmeichel makes a save.17:41 Goal scored
Goal! - Bradley Wright-Phillips - Charlton 1 - 0 Leicester Bradley Wright-Phillips gets on the score sheet with a goal from just inside the penalty area to the bottom left corner of the goal. Charlton 1-0 Leicester.10:19
Foul by Bradley Wright-Phillips on Ritchie De Laet, free kick awarded. Kasper Schmeichel restarts play with the free kick.8:58
Jermaine Beckford fouled by Dale Stephens, the ref awards a free kick. Paul Konchesky restarts play with the free kick.8:11
Bradley Pritchard takes a shot. Save made by Kasper Schmeichel. Inswinging corner taken left-footed by Johnnie Jackson from the right by-line, clearance by Ritchie De Laet.7:46
Danny Hollands fouled by Danny Drinkwater, the ref awards a free kick. Direct free kick taken by Chris Solly.6:53
Lloyd Dyer produces a left-footed shot from just outside the box that misses to the right of the target.5:12
Jamie Vardy takes a shot. Blocked by Leon Cort.2:26
Foul by Danny Drinkwater on Chris Solly, free kick awarded. Johnnie Jackson crosses the ball from the free kick left-footed from right wing, Ben Marshall manages to make a clearance.0:00
The game gets underway.
Live data and text provided by our data suppliers