The 19-year-old scored 14 times last season even though 25 of his 36 appearances were as a substitute.
New manager Pep Guardiola has rewarded him with a long-term deal on much improved terms.
"Kelechi is a natural goalscorer. I knew about him before, but I've been really impressed with him since I arrived," Guardiola said.
"I like his personality, his attitude, his ability - we hope to help him reach the highest level and to realise his full potential."
Iheanacho was City's third-highest scorer in all competitions, behind Sergio Aguero and Kevin de Bruyne.
The Nigerian was a late substitute in Saturday's 2-1 win over Sunderland.
Subscribe to the BBC Sport newsletter to get our pick of news, features and video sent to your inbox.
Manchester City striker Kelechi Iheanacho has signed a two-year contract extension with the club.