Manchester Citys år har varit en besvikelse sett utifrån Pep Guardiolas tidigare verk. Nu har man siktet på topp fyra för att rädda upp säsongen. Gästande Leicester, som har hämtat sig sedan tunga perioden i höstas, var nog även de sugna på att avsluta med flaggan i topp.
Nollan spräcktes i den 29:e matchminuten. Leroy Sane hittade fram till David Silva som sköt in 1-0 - dock protesterade Leicester-lägret högljutt eftersom de ansåg att Raheem Sterling i offside-position påverkat spelet.
Målet godkändes dock och följdes upp av ännu ett sedan Yohan Benalouane tacklat Leroy Sane rejält i straffområdet. Den förvaltades väl av Gabriel Jesus som säkert satte 2-0.
Reducering kom dock bara minuter därefter - och den var inte illa. Shinji Okazaki fick på ett stenhårt skott från 13 meter som Caballero i City-målet var chanslös på.
I den andra halvleken fick Leicester ett jätteläge att sätta kvitteringen. Kanske var det en av de märkligaste situationerna i år när Riyad Mahrez sköt in 2-2 på straff - men fick målet bortdömt sedan han halkat och träffat bollen två gånger.
Resultatet stod sig och City knep därmed alla tre poängen. Nu ligger klubben sex poäng före Arsenal på femteplatsen, som dock har en match mindre spelad.
Manchester Citys startelva: Caballero; Fernandinho, Kompany, Otamendi, Clichy; Yaya Toure; Sterling, De Bruyne, Silva, Sane; Gabriel Jesus.
Leicesters startelva: Schmeichel; Simpson, Benalouane, Fuchs, Chilwell; Mahrez, Ndidi, King, Albrighton; Okazaki, Vardy.