Manchester City dropped to third in the Premier League as Leicester City made it back-to-back defeats for Pep Guardiola's men - Ricardo Pereira's spectacular 81st-minute strike securing a 2-1 triumph.
The reigning champions have lost three of their past four top-flight outings and lie seven points behind Liverpool, whose closest challengers are now Tottenham - six points back of the leaders.
As in their weekend defeat to Crystal Palace, Manchester City took a first-half lead but were quickly pegged back – Bernardo Silva's goal cancelled out by Marc Albrighton, who also equalised when the sides met in the EFL Cup quarter-finals last week.
A 1-1 draw on that occasion ended with a victory for Manchester City on penalties but Leicester prevailed this time, with hero Pereira on the receiving end of a rash challenge that saw Fabian Delph sent off in the closing minutes.
Such a turnaround appeared unlikely when Aymeric Laporte fizzed a 14th-minute pass into Sergio Aguero's feet and the Argentina striker played in Silva for a neat finish.
The lead lasted only five minutes, though, as referee Mike Dean waved away claims for a foul against Danilo and Leicester made the most of an undermanned defence – Jamie Vardy crossing for Albrighton to head in at the far post.
Aguero almost restored the visitors' advantage following excellent work from Kevin De Bruyne and Leroy Sane but they needed a trio of saves from Ederson to deny Vardy, James Maddison and Hamza Choudhury before half-time.
Manchester City resumed after the break in similarly ragged fashion but began to turn the screw after the hour, with Sane unable to scramble home after Raheem Sterling sent Aguero to the byline inside the box.
Leicester attacks had started to dry up, although Laporte needed an inch-perfect tackle to thwart the ever-alert Vardy.
Pereira's opening was nowhere near as enticing but he struck a beautifully clinical blow from the edge of the box when Sane could only partially clear a corner.
Guardiola's Christmas nightmare was compounded when Sane lashed a chance to equalise over and Delph lost control.
What does it mean? City losing touch with Liverpool.
A two-point advantage earlier this month is now a considerable deficit and Manchester City, so imperious for most of 2018, have faltered at an untimely moment, leaving them with a mountain to climb in the title race. Liverpool's trip to the Etihad Stadium on January 3 is now a must-win encounter. Leicester climb to seventh and this result, on the back of a 1-0 win at Chelsea, will do much to quell murmurs of discontent around manager Claude Puel.
Pereira crowns brilliant display with show-stopping strike
The former Porto defender's game-settling strike was a moment to savour, further enhancing his overall performance. Pereira's duel with Sane was absorbing throughout and he looked to drive forward from full-back at every opportunity.
Sterling fails to shine
So often a decisive star in big moments for Manchester City over the past 18 months, England forward Sterling was hampered by poor decision-making, heavy passes and an uncertain touch in an outing to forget.
Guardiola's side are back on the road away at Southampton on Sunday, while Leicester host Cardiff City a day earlier.