The Foxes made three changes to the side which started the goalless draw with Wolves, with Christian Fuchs, Dennis Praet and former Citizens striker Kelechi Iheanacho replacing Ayoze Perez, Harvey Barnes and the suspended Hamza Choudhury.
The visitors also made three changes, with Fernandinho, Ilkay Gundogan and ex-Foxes forward Riyad Mahrez preferred to Nicolas Otamendi, David Silva and Gabriel Jesus.
It was the men from Manchester who enjoyed the majority of the early possession, but it was the hosts who nearly broke the deadlock as Jamie Vardy sprinted clear, only to see his effort beat Ederson and cannon away to safety off the foot of a post.
The Citizens responded with Kevin de Bruyne forcing a save from Kasper Schmeichel with a drive from distance, before the keeper denied Gundogan and then saw a deflected Benjamin Mendy shot drop narrowly wide.
Nine minutes before half-time, Ederson was forced to get away smartly to his right to push away a curling free-kick from James Maddison.
In time added-on at the end of the first half Sergio Aguero had the ball in the net, but he was rightly flagged offside as he collected a De Bruyne pass.
Barnes replaced Iheanacho at the interval and soon afterwards found space down the right flank, but his attempted ball across the face of goal was blocked at his near post by Ederson.
At the other end Schmeichel made a fine low save to keep out a skimming right-foot drive from De Bruyne and shortly afterwards Laporte was replaced by Otamendi.
The visitors were then awarded a penalty after a VAR check decided that Praet had handled a Gundogan drive, but Aguero failed to beat Schmeichel with the resulting spot-kick.
The Leicester keeper denied Aguero again soon after, before Vardy screwed a left-foot volley wide at the other end.
Aguero was replaced by Gabriel Jesus 13 minutes from time and the Brazilian made the all-important breakthrough soon after entering the fray, slotting home right-footed after being played in by Mahrez.