They moved six points clear of City with the result and Tottenham and Arsenal are also in pursuit.
It was a magnificent performance from Leicester - who showed no fear against the former champions.
They got the ball rolling early on when Robert Huth scored from close range after some poor City defending at a set-piece.
Manchester City had chances to get back into the game before the half-time whistle but did not take them and were swiftly punished.
N'Golo Kante's run saw Riyad Mahrez through. He put City players on their rears before smashing home a right foot strike beyond Joe Hart.
Huth then headed home from a corner for his second and Leicester's third as Claudio Ranieri's men took all three points - despite a late Sergio Aguero consolation.
It was a result which, following on from the win against Liverpool, might have finally convinced the doubters that Leicester might actually win the Premier League title.