Manchester City held off a dramatic fightback to move six points clear at the top of the Premier League with a breathless 6-3 victory over Leicester.
The free-scoring champions raced into a 4-0 lead inside 25 minutes at the Etihad Stadium but the visitors fought back to 4-3 in a Boxing Day classic at the Etihad Stadium.
It took a further goal from Aymeric Laporte and a late effort from Raheem Sterling, his second of the game, to finally kill off the Foxes’ unlikely comeback.
Sterling had been on target from one of two penalties awarded to the hosts in the first half, with former Leicester star Riyad Mahrez scoring the other. Kevin De Bruyne had opened the scoring, with Ilkay Gundogan also getting on the scoresheet.
Leicester’s replies came from the impressive James Maddison, Ademola Lookman and Kelechi Iheanaco early in the second half, but the injury-hit visitors ultimately could not maintain the momentum.
Yet it was of great credit to the Foxes that they managed to make the game such a contest.
It looked like being a bad afternoon for them as City hit them with a storm early on.
They were already without several players, and star striker Jamie Vardy was only deemed fit enough for the bench, when substitute Ryan Bertrand suffered an injury in the warm-up.
Things got even worse as De Bruyne struck after five minutes. The Belgian had already had one shot on goal blocked when he coolly controlled Fernandinho’s lobbed ball into the box and curled beyond Kasper Schmeichel.
The hosts doubled their lead with the first of their penalties nine minutes later after Youri Tielemans was deemed to have bundled over Laporte in the box.
Mahrez, up against his former club, made no mistake as he thumped into the roof of the net from 12 yards.
Leicester briefly rallied with first Maddison having a well-struck free-kick palmed onto the crossbar by Ederson. Ayoze Perez also forced a save from the City goalkeeper.
Yet the home side were soon back on the front foot and their third goal came with just 21 minutes gone after Joao Cancelo drilled a low ball into the box. Schmeichel pushed it away from goal but Gundogan was on hand to tuck home the rebound from close range.
City’s fourth came after they were awarded another penalty shortly afterwards. Tielemans was again the guilty party as he tripped Sterling and this time Chris Kavanagh had no hesitation in making the decision.
Sterling stepped up to score himself with another firmly-hit effort.
Leicester could easily have suffered more damage before the break as City pieced together a fine move that saw Sterling volley at goal from a volleyed lay-off by Bernardo Silva, but Schmeichel saved. The Dane then produced another stop to deny Gundogan from distance.
It was a simply remarkable first-half display from City who, after winning their previous two games by a combined score of 11-0, looked likely to enhance their goal difference even further after the break.
Yet, unexpectedly, Leicester rallied and threatened an unlikely comeback with three goals within 20 minutes of the restart.
An inspired Maddison started and finished the first of them, breaking away from the defence with a neat flick and then firing firmly past Ederson after combining with Iheanacho.
Maddison then launched another counter-attack by again picking out Iheanacho, but this time it was Lookman who raced onto the Nigerian’s through-ball to tuck home.
City went close as Daniel Amartey diverted a Fernandinho header onto the bar but Leicester roared forward again and Iheanacho snapped up a rebound after Maddison tested Ederson from distance to make it 4-3.
A remarkable turnaround was on the cards but City eased nerves as Laporte headed home from a corner to restore a two-goal cushion in the 69th minute.
Even then the action was not over as Marc Albrighton planted a free header wide that could have set up a frantic finish.
Sterling wrapped up the scoring late on when he tapped home following a corner.