It took Man City just four minutes to break the deadlock, when the ball fell to Riyad Mahrez on the right-hand corner of the box. The Algerian sent a rocket flying into the top corner from his weaker right foot to open the scoring.
However, Leicester were given a golden chance to equalise in the 37th minute. Kyle Walker clumsily brought down Jamie Vardy in the box to concede a penalty, from which the Leicester striker made no mistake.
Pep Guardiola reacted early in the second half by giving 17-year-old striker Liam Delap a Premier League debut after he scored for the club in the Carabao Cup in midweek. He replaced midfielder Fernandinho.
But it was Leicester who struck next – and in quite some fashion. Vardy diverted Timothy Castagne’s cross into the net with a stunning backheel to put Leicester ahead with just their second attempt of the game.
Vardy made matters worse for City moments later when he snuck in front of Eric Garcia, who bundled him over to give away a penalty.
Once again, Leicester’s star striker converted the spot kick, sidefooting it powerfully into the bottom corner to complete his hat-trick.
And the Foxes added a fourth when substitute James Maddison sent one flying into the top corner to compound City’s misery.
Nathan Ake leapt highest to head home a corner for the hosts and reduce the deficit, but City conceded a third penalty soon after at the other end when Benjamin Mendy clipped Maddison.
With an exhausted Vardy having gone off by now, Youri Tielemans assumed the responsibility this time. And he showed he was just as capable from the spot by powering home to send Ederson the wrong way and restore the three-goal cushion.
It marks the first time a Guardiola side has ever conceded five goals in a single game.