The former Foxes frontman, booed when his name was read out before kick-off, doubled Charlton’s lead after Bradley Wright-Phillips had fired the newly-promoted Addicks ahead.
Leicester fans still have nightmares about the last time they saw Kermorgant with the ball at his feet 12 yards out – his ‘dinked’ spot-kick went horribly wrong as they lost the 2010 play-off semi-final on penalties to Cardiff.
But the French striker made no mistake this time 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.
Substitute Andy King pulled one back in the second half but Leicester could not find an equaliser to make it a miserable 49th birthday for manager Nigel Pearson.
Yet Pearson’s Foxes are among the favourites for promotion this season, and they were threatening to show why early on.
Former non-league hot-shot Jamie Vardy had a shot blocked by Leon Cort and was then denied by keeper Ben Hamer, while Lloyd Dyer sliced horribly wide in front of goal.
But, totally against against the run of play, Charlton took an 18th-minute lead when midfielder Bradley Prichard burst upfield and played the ball to Wright-Phillips.
The striker, who scored 22 goals last season as the Addicks ran away with League One, turned on the edge of the box before drilling a superb low drive across Kasper Schmeichel and into the net.
Schmeichel was quickly forced into smart saves to keep out efforts from Leon Cort and Wright-Phillips again, but the City keeper was beaten for a second time after 32 minutes.
Leicester failed to deal with a corner from Danny Hollands and when the landed at the feet of Kermorgant he smashed it past the Dane and into the net.
Pearson made a double substitution at the interval, sending on David Nugent and King, and the move paid off eight minutes into the second half.
Nugent was the provider and King, who climbed off the bench to score in Leicester’s opening-day win over Peterborough, repeated the trick with a neat finish inside the area.
But try as they might Leicester could not draw level with Hamer saving well from Dyer, twice, Anthony Knockaert and a stoppage-time header from Vardy to secure the points.