Manchester City were hanging on at times and Riyad Mahrez missed a chance to rescue a deserved point for last season's champions.
After dominating before the interval the hosts were hanging on at times in the second half and Mahrez had the chance to rescue a deserved point for last season's champions.
But his 77th-minute penalty, despite beating Willy Caballero, was correctly ruled out after City's players realised Mahrez had slipped while striking the ball and inadvertently made an illegal double contact.
It was the second lucky break for Pep Guardiola's side whose opening goal, scored by David Silva after 29 minutes, incensed
"The first goal was offside," Leicester keeper Kasper Schmeichel, who argued he was distracted by
There was no doubt about City's second in the 36th minute. Leroy Sane was sent sprawling in the area by Yohan Benalouane and Gabriel Jesus fired the resulting spot kick into the corner.
City, who surprisingly left top scorer Sergio Aguero on the bench, were not clinical enough in front of goal and
Craig Shakespeare's side looked set to equalise when Gael Clichy tripped Mahrez in the area and referee Robert Madley had no hesitation in pointing to the penalty spot.
But Mahrez's scuffed effort was correctly ruled out as he kicked the ball against his standing leg and past Caballero.
Jamie Vardy also had a late chance for Leicester who sensed City's nervousness, but the hosts hung on to stay on course for a top-four finish with two games left.
They have 72 points while
"Well done. It's the first or second time I've seen that in my life," Guardiola said. "We have to look after our boots!
"We need one more game to be in the top four but it's in our hands.