An open an even contest looked to be heading for a penalty shootout until the Nigerian fired his 89th minute spot-kick into the top corner after he caught Nathan Ake in possession and was tripped as the defender tried to recover.
It was a bitter blow to a much-changed City side which included teenagers Sam Edozie and Cole Palmer in the starting XI, with Jack Grealish handed his debut as a 65th minute substitute.
Pep Guardiola’s new signing was a lively presence but was unable to inspire a breakthrough at Wembley Stadium, where both teams enjoyed periods of dominance.
It was Leicester who started the brighter and they would have been in front at the break but for the heroics of Zack Steffen, who produced a superb improvised save to turn the unmarked Jamie Vardy's half-volley onto the post with his outstretched foot.
The American had already kept out a Vardy snapshot from point-blank range and got down smartly to Harvey Barnes’ low drive during a first half in which we lacked our usual fluidity.
Ilkay Gundogan’s curling 20-yard free-kick forced an early save from Kasper Schmeichel but that was as good as it got for City in the opening 45 minutes, as Edozie blazed an angled drive wide after being put through by the German midfielder.
The defending Premier League champions upped the ante after the break to exert greater control on proceedings and had looked the more likely to score up until the penalty.
Gundogan fired over after the ball dropped invitingly for him 10-yards from goal, whilst Riyad Mahrez did the same with a 20-yard free-kick won after some positive play from Edozie, who grew into the game.
Fellow youngster Palmer also had his moments.
There was an audacious backheel early on and it was he who sent Mahrez clear of the Foxes defence after Ricardo Pereira’s error, but again the Algerian’s effort cleared the crossbar after Wilfred Ndidi applied just enough pressure.
With a shootout seeming the most likely outcome, City survived a late warning when Steffen was smartly off his line to beat Patson Daka to a through ball, but there was to be no let off when Iheanacho picked Ake’s pocket and tumbled to the floor after a tangle of legs.
Pep Guardiola: good performance despite defeat
“I would have loved to have won the game.
“Congratulations to Leicester for the Community Shield victory. Our performance was really, really good, especially for this stage of the season and the way we played in the second half was so good.
“The game was well played. They had chances, we had chances and in the second we were so good.
“The courage of the young guys Sam and Cole and the control we had - they only had long balls in the second half.”
City’s Premier League campaign begins in eight days’ time, as we travel to Tottenham Hotspur on Sunday 15 August for our season opener.
Kick-off is at 16:30 (UK) and, the UK, the game will be broadcast live on Sky Sports.
We’ll have full coverage here on mancity.com, including our Matchday Live show, live updates in our Matchday Centre and report and reaction after the full-time whistle.
SUBS: Carson, Sandler, Couto, Doyle, Gomes.
LEICESTER XI: Schmeichel, Ricardo, Amartey, Soyuncu, Bertrand (Thomas 78'), Ndidi, Tielemans (Soumare 70'), Perez (Albrighton 70'), Maddison (Dewsbury-Hall 70'), Barnes (Iheancho 78'), Vardy (Dake 70').
SUBS: Ward, Benkovic, Choudhury.
News about Leicester v Man City
Pep proud of players despite loss
Pep Guardiola says he is "incredibly proud" of his players despite losing to a last-minute Leicester penalty. Read more.
Leicester 1-0 Man City: Match stats and reaction
Guardiola: England quartet will benefit from Euros experience
Pep Guardiola believes City’s England stars will return to the first team fold with a spring in their step following a hugely successful European Championships. Watch more.
Leicester 1-0 City: Community Shield match action
Watch the best of the action from Manchester City’s 1-0 loss to Leicester City in the Community Shield. Watch more.