Pep Guardiola's side was dominant for long periods, Kevin De Bruyne hitting the crossbar, but had to wait until the 58th minute for left-back Mendy to find the breakthrough.
Both teams had seen goals ruled out for offside by that point, with Jamie Vardy frustrated in first-half stoppage-time, although nothing approaching a repeat of Leicester's 5-2 early season triumph at Etihad Stadium ever appeared to be on the cards.
A majestic De Bruyne throughball allowed substitute Raheem Sterling to tee up Gabriel Jesus for a game-sealing goal that put the leaders 17 points clear of Manchester United, albeit having played two games more than Ole Gunnar Solskjaer's men.
Manchester City captain Fernandinho drilled a 25-yard drive into the bottom corner but his fifth-minute effort was ruled out because Sergio Aguero jumped over the shot in an offside position.
De Bruyne went closer for the visitors, rattling the bar with a 23rd-minute free-kick, before Kasper Schmeichel saved with his boot to thwart former team-mate Riyad Mahrez and Jesus thrashed over before half-time.
Leicester's first shot belatedly arrived in the 48th minute, when Youri Tielemans treated Ederson to a routine stop.
Ruben Dias slid in to make a telling block from the Belgium midfielder moments later after Kelechi Iheanacho picked Fernandinho's pocket.
Mahrez stung Schmeichel's palms before the hour and Leicester failed to clear the danger, possession falling to Mendy, who stepped inside Marc Albrighton and slotted home right footed.
Sterling and Jesus threatened to undo De Bruyne's imperious work 16 minutes from time but held their nerve to seal victory as blue shirts darted back towards the goalmouth in vain.
Mahrez trudged off having come agonisingly close to scoring against his former employers, clipping a shot just wide after Jesus mugged a flagging Jonny Evans.