The victory was the second in a row at London's Wembley Stadium for the Foxes, who beat favourites Chelsea by the same scoreline in the May FA Cup final but finished fifth in the Premier League.
"I've been practising penalties. I missed one last season so I've been practising in pre-season. I had just one thing in my mind: just shoot at an angle and hit it hard, and that's what I did," Iheanacho said.
The annual curtain raiser on English football, played between the previous year's FA Cup and Premier League winners, was end to end in the first half but ended scoreless after the opening 45 minutes.
With the game still tied 0-0 in the second half, Pep Guardiola brought on Man City's British record signing Jack Grealish shortly after the hour mark for his first runout at his new club following his arrival from Aston Villa.
Senior players for Man City were rested or recovering from injuries, and Guardiola fielded an unfamiliar lineup with five academy starlets in his squad and Sam Edozie and Cole Palmer starting.
"The performance was really really good, especially for this stage of the season and the way we played in the second half," said the Spaniard. "In general given the short preparation time we had, all the loan players, all the academy players have been exceptional."
Vardy, 34, came closest to scoring in the first half when a hooked shot was pushed onto the post by goalkeeper Zack Steffen just before the break.
With the game looking like it was heading for a shootout, Iheanacho drew a foul on Man City defender Nathan Ake and the referee pointed to the spot before the Nigeria international converted his penalty for victory.
"There was a great feeling coming here today. Every Leicester player, fan, staff member coming here, it was a really special feeling," Rodgers said after the match. "We wanted to take that into the game and keep that feeling going, and thankfully we've done that."
The match was played in front of a limited capacity of 53,000 fans at Wembley.
Manchester City begin their Premier League campaign on Aug. 15 away to Tottenham Hotspur, while Leicester City host Wolves the day before.