The 24-year-old has scored seven times in his last four appearances for the Foxes, and was named Premier League player of the month for March.
He has made 117 appearances, scoring 32 goals in total, since moving to Leicester from Manchester City on a five-year contract in 2017.
“I can’t express how I’m feeling,” said Nigeria international Iheanacho.
“I’m excited, I’m happy, I’m overwhelmed! It’s a great moment and I’m happy that Leicester City gave me a new contract.
“It’s been a great time here. It’s not been easy, but there’s a lot of people here that are good people, great people to work with. They are nice people and they make me feel comfortable and welcome since I came in.
“It’s been really great being here. It’s like a family. I’m happy being here and hopefully I can stay here many more years.”