The 21-year-old spent the first half of the campaign on loan at Sky Bet Championship side West Brom but was recalled in January after scoring nine times in six appearances for the Baggies.
He subsequently made 16 appearances for Leicester, scoring his first Premier League goal against West Ham in April.
"I'm delighted. For me, the progression that I've had at the club, from joining at such an early age to the position I'm in now, is something I want to continue, so when a new contract was mentioned, it was a no-brainer," he told LCFC TV.
"There's going to be a lot of work going in over pre-season, and I think as a team we're really strong at the minute, so next year could be a big year for us."