The meeting of last season’s Premier League champions and FA Cup winners was absorbing in parts and looked to be heading for penalties, but Iheanacho struck from the spot into the top corner with a minute remaining after being tripped by Nathan Ake.
City’s record £100m signing Jack Grealish was given his debut on 65 minutes, but he could not muster a clear-cut opportunity for a much-changed team.
Ilkay Gundogan saw an arrowed free-kick superbly tipped over the crossbar by Kasper Schmeichel and the German midfielder also blazed over a first-time effort from 10 yards out.
Striker Jamie Vardy was bright for Leicester but could not find a way past City goalkeeper Zack Steffen, who made a stunning reaction save to deny the Englishman.
More silverware for Leicester
Leicester supporters have experienced five years of football that would have been beyond their wildest dreams – shock Premier League champions in 2016, surprise FA Cup winners last season and now heading into the new season in ideal fashion by clinching the Community Shield.
Though they played in the Champions League after their title triumph, they have twice fallen away from the top four in successive seasons having looked well set for much of the campaign.
But they left it late in London to send Manchester City home disappointed as Nigerian frontman Iheanacho converted the winner against his old club 11 minutes after coming on.
Up until that point it had been a rather even affair in the curtain-raiser to the new top-flight campaign which gets under way on Friday when Arsenal host newly promoted Brentford.
Injury problems in defence for Leicester meant free signing Ryan Bertrand was given a start, while fellow summer recruits Patson Daka and Boubakary Soumare both came off the bench in the second period.
But it was old boy Vardy who looked most likely to break the deadlock, though he showed a bit of rustiness with his finishing, smacking a bounce shot straight at Steffens from 12 yards out before the American kept out a shot with his trailing right foot while diving to the left.
The return to action for Harvey Barnes, who hasn’t played competitively since February because of a knee injury, will be a huge positive for Rodgers and the Englishman showed some nice touches down the left flank.
Wilfred Ndidi was at his destructive best, winning the ball back eight times, making five tackles and contributing three interceptions, all good signs for Leicester before next Saturday’s Premier League opener at home to Wolves.
Much-changed City come up short
City boss Pep Guardiola had spoken before kick-off about having little time to prepare for the new season and with “half of the team” being out.
The biggest of the casualties were Kevin de Bruyne and Phil Foden, who both suffered injuries during the summer’s European Championship, and Raheem Sterling was also left out so inexperienced teenagers Cole Palmer, 19, and Sam Edozie, 18, were handed starts.
Winger Edozie had scored in all three pre-season friendlies and was presented with a golden opportunity in the first half via Gundogan’s through ball, but the youngster screwed his effort wide in front of the Leicester end.
And Edozie’s darting run in the second half drew a foul on the edge of the box, but Riyad Mahrez curled the resulting free-kick from the edge of the box over the bar.
The Algerian should have netted when he ran clear from the halfway line but struck over, much to the enjoyment of the Leicester supporters who had been jeering him all game.
Star attraction Grealish got a runout for 25 minutes but found it difficult to influence the game, particularly with City missing a centre forward.
Record goalscorer Sergio Aguero left the club in the summer and it remains to be seen whether a move for Tottenham striker Harry Kane materialises.
Should the transfer pick up pace and City are able to come to a compromise with Spurs next week, Kane would get the opportunity to make his debut next Saturday… against his old club.
‘It was a really special feeling’
Leicester boss Brendan Rodgers, speaking to BBC Radio Leicester: “There was a great feeling coming here today. Every Leicester player, fan, staff member coming here, it was a really special feeling.
“We wanted to take that into the game and keep that feeling going, and thankfully we’ve done that.”
Manchester City boss Pep Guardiola: “Congratulations to Leicester. I am more than satisfied with how we played. Many things were really good, the young players were excellent.
“We got minutes for players so in general, many good things.”