Match ends, Leicester City 2, Manchester City 1.
Manchester City suffered their second successive defeat as Ricardo Pereira's spectacular late strike gave Leicester a win and dropped Pep Guardiola's side down to third.
Ricardo blasted in a winner from the edge of the penalty area in the 81st minute after Leroy Sane's weak header to leave Manchester City seven points behind leaders Liverpool and take them below Tottenham as well.
The visitors had taken a 14th-minute lead when they took advantage of poor defending from the home side as Sergio Aguero released Bernardo Silva and he calmly slotted past Kasper Schmeichel.
But their lead only lasted five minutes as Marc Albrighton headed in from Jamie Vardy's cross, before Ricardo's stunning winner for a Leicester side who had also won 1-0 at Chelsea on Saturday.
The away side ended the game with 10 men as Fabian Delph was shown a red card when he slid in on Ricardo and caught him on the knee.
Manchester City only lost twice in all of 2017-18 as they became the champions, but this loss was their second in five days after a shock 3-2 home defeat by Crystal Palace on Saturday.
- Relive Leicester's win over Manchester City as it happened
- Analysis and reaction from Wednesday's Premier League games
Manchester City lose a lead again
It has been a miserable festive period so far for Guardiola's side, who have now twice surprisingly been beaten after scoring the game's opening goal.
There appeared to be no danger when Aguero linked up with Bernardo Silva, who gave City the lead early on. But, just like against Palace, Guardiola's side let their opponents back into the game within minutes of going in front.
Their lead over Palace only lasted six minutes on Saturday, and it only took Leicester five minutes to peg Guardiola's team back at the King Power Stadium.
Poor defending, and Vardy being given space to cross from the left side of the penalty area, saw Albrighton get himself clear of marker Delph at the back post to head past Ederson.
City had chances to retake the lead with Aguero surprisingly scooping the ball over from six yards out from Leroy Sane's pull-back.
Kevin de Bruyne, making his first Premier League start of the season after knee injuries, did well to create space for a low cross, but Kasper Schmeichel did well to hold on to the ball as Aguero waited to pounce.
The away side had the majority of possession in the second half, but Sane's poor header late on was punished with a spectacular finish from Ricardo.
City are aiming to win the Premier League for a fourth time in eight seasons and have 44 points, with Liverpool, who they play at home on 3 January, on 51 points after their 4-0 home win over Newcastle.
Mauricio Pochettino's Tottenham have also moved above City, thanks to their 5-0 home success over Bournemouth.
Leicester gain another excellent result
A run of only one win in eight matches in all competitions had led to speculation concerning the future of Foxes manager Claude Puel.
However, his side have responded by winning 1-0 at Chelsea on Saturday and now became only the third side to beat Manchester City in the league this season.
Despite conceding so early on, Leicester's players quickly got themselves back into it and ended the first half strongly with Manchester City goalkeeper Ederson saving efforts from Vardy, James Maddison and Hamza Choudhury.
In the second half, Leicester had to defend deep, but Puel's side produced an organised, disciplined performance to restrict the away team to only four shots on target.
Kasper Schmeichel was a calming figure in the Leicester goal and a number of players, including Harry Maguire and Wes Morgan, made crucial blocks to frustrate Guardiola's men.
Those saves and desperate defending proved crucial before Ricardo's goal took Leicester back up to seventh, only four points behind sixth-placed Manchester United.
Man of the match - Ricardo Pereira (Leicester)
Another Guardiola defeat in December - the stats
- This is the first time Man City have lost consecutive Premier League games since December 2016, with the second defeat in that run also coming away against Leicester.
- Leicester have won their last two Premier League games against 'big six' opposition, as many as they had in their previous 19 in the competition (won two, drew two, lost 15).
- Six of Manchester City boss Pep Guardiola's 11 Premier League defeats have come in the month of December.
- Man City's Bernardo Silva has had a hand in nine goals in his 18 Premier League appearances this season (five goals, four assists), just one fewer than in his 35 games in the competition last term (six goals, four assists).
- With Ricardo Pereira scoring for Leicester, and Bernardo Silva netting for Man City, this was the first time a Premier League match saw a Portuguese player score for both sides.
'We have lots to fight for' - what they said
Leicester manager Claude Puel told BBC Sport: "A good Boxing Day. We know when you play Chelsea and City it's difficult to have the ball but you must have this mentality to defend together and try to use good recovery and fast passes to break.
"We deserved this result. We had more chances than them. We changed the system to get a better balance in the team and it is a fantastic result for this team.
"Some players are very tired. It was important to put the same team on the pitch. We didn't play well against Crystal Palace but we have had two fantastic games."
Manchester City manager Pep Guardiola told BBC Sport: "It was a similar performance to the Crystal Palace game, we started well but conceded a goal the first time they arrived in our box. Mentally we are lacking confidence in that situation.
"We have to accept it, we have to realise that we have to work harder and try to get immediately one good result and get our confidence back.
"Of course we are worried [about not keeping clean sheets], the result is what counts, we lost. In four days we have another one. We are together, we will work harder and we will come back with some good results. The season is very long and we have lots to fight for.
"It was another fantastic goal against us. There are games when your opponents have clear chances and don't score and games when they score goals like this."
Leicester are at home to Cardiff City on Saturday, 29 December and they play at Everton on Tuesday, 1 January.
For Manchester City, they will be trying to get back to winning ways at Southampton on 30 December, before a home game against league leaders Liverpool on 3 January.
- 14Ricardo Pereira
- 15MaguireBooked at 58mins
- 38ChoudhurySubstituted forGrayat 63'minutes
- 9VardyBooked at 87minsSubstituted forOkazakiat 88'minutes
- 10MaddisonSubstituted forSimpsonat 78'minutes
- 5StonesBooked at 77mins
- 18DelphBooked at 89mins
- 17De BruyneSubstituted forSilvaat 70'minutesBooked at 90mins
- 20Bernardo SilvaSubstituted forMahrezat 83'minutes
- Mike Dean
- Shots on Target
Second Half ends, Leicester City 2, Manchester City 1.
Attempt blocked. David Silva (Manchester City) left footed shot from the centre of the box is blocked. Assisted by Raheem Sterling with a headed pass.
Attempt missed. Demarai Gray (Leicester City) left footed shot from outside the box is too high. Assisted by Wilfred Ndidi.
Sergio Agüero (Manchester City) is shown the yellow card.
Fabian Delph (Manchester City) is shown the red card.
Foul by Fabian Delph (Manchester City).
Ricardo Pereira (Leicester City) wins a free kick in the defensive half.
Substitution, Leicester City. Shinji Okazaki replaces Jamie Vardy.
Attempt missed. Leroy Sané (Manchester City) left footed shot from the left side of the box is just a bit too high. Assisted by Raheem Sterling.
Jamie Vardy (Leicester City) is shown the yellow card.
John Stones (Manchester City) wins a free kick in the defensive half.
Foul by Jamie Vardy (Leicester City).
Substitution, Manchester City. Riyad Mahrez replaces Bernardo Silva.
Goal! Leicester City 2, Manchester City 1. Ricardo Pereira (Leicester City) right footed shot from the right side of the box to the top left corner following a corner.
Corner, Leicester City. Conceded by Aymeric Laporte.
Foul by Fabian Delph (Manchester City).
Demarai Gray (Leicester City) wins a free kick in the defensive half.
Substitution, Leicester City. Danny Simpson replaces James Maddison.
John Stones (Manchester City) is shown the yellow card.