Leicester had to withstand a barrage of first-half pressure from their visitors but they held firm for the point that took them level with Arsenal at the top of the table.
The Foxes grew in confidence after half-time and could have snatched another major scalp in their extraordinary season.
Manchester City are without a win in five Premier League away games but boss Manuel Pellegrini will take heart from a dominant performance before half-time.
Shinji Okazaki and Andy King were the men to make way while City brought back Sergio Aguero in place of Wilfried Bony.
Also Read
The visitors made all of the early running and exploited their hosts repeatedly down the flanks.
Pellegrini's men wasted several decent crossing opportunities before Leicester almost struck a blow against the run of play.
Inler was fouled 25 yards from goal and Christian Fuchs' free-kick was headed over by Robert Huth.
He hit a firm shot but it was pushed away solidly by Kasper Schmeichel in the home goal.
Leicester had been pinned back in their own half with striker Jamie Vardy isolated for lengthy spells.
But Riyad Mahrez, his goalscoring partner in crime, nearly made the most of a slip by Nicolas Otamendi and tried a curling shot from an angle that dipped just over.
Manchester City came again, however, and Schmeichel came to the rescue once more when he pushed away a decent shot from Sterling.
After withstanding waves of pressure, Leicester should twice have led in the 40th minute.
First Fuchs' cross from the left eluded Marc Albrighton at the far post by inches.
Then Fernandinho gifted possession to Jamie Vardy, who exchanged passes with Drinkwater on the edge of the box before blasting over.
Aguero should have given the visitors the lead a minute into the second half when he arrived at the near post to meet a De Bruyne cross.
Albrighton sent a shot into the side netting from a tough angle after a smart pass by Mahrez as Ranieri's men grew in confidence.
But they almost fell behind when Otamendi met a corner from De Bruyne with a firm header that forced Schmeichel into another good save.
With momentum behind them, Leicester sent on Leonardo Ulloa for Inler as they went on the attack.
It almost paid off instantly as Ulloa's decoy run allowed Vardy to collect Drinkwater's pass, but he shot straight at Joe Hart in the Manchester City goal.
Palace midfielder James McArthur hit back twice to haul the hosts level after Liverpool went ahead first through Emre Can and then Dejan Lovren.
But Joel Matip's 44th-minute header restored the visitors' advantage and Roberto Firmino chipped in from Jordan Henderson's pass to seal victory with 19 minutes remaining.
Manchester United's title hopes faded a little after their stalemate with Burnley left them eight points off top spot in eighth place.
Former United goalkeeper Tom Heaton was Burnley's saviour, producing stunning saves from Jesse Lingard, Paul Pogba and Zlatan Ibrahimovic.
Mourinho was sent to the stands at half-time, reportedly after complaining about referee Mark Clattenburg's failure to award Matteo Darmian a penalty.
Herrera was sent off in the 70th minute after being shown a second yellow card for sliding in on Dean Marney.
"I think the referee did fantastic work. I won't say more than this," United assistant Rui Faria, who faced the media instead of Mourinho, said sarcastically.
"The people in the stadium could feel that the players gave everything. We fought until the last second. We have to keep working and things will happen."
Vincent Janssen gave Spurs the lead with a 44th-minute penalty, but Ahmed Musa equalised early in the second period, sliding in bravely to apply the finishing touch to Jamie Vardy's cross.
Watford stole above United into seventh place after edging Hull City 1-0 courtesy of a late Michael Dawson own goal.
Middlesbrough pulled clear of the relegation places after beating Bournemouth 2-0 through a memorable Gaston Ramirez solo goal and a Stewart Downing strike.