Jamie Vardy scored the winner as Leicester produced an impressive display to shock Chelsea 1-0 at Stamford Bridge.
Eden Hazard hit the bar for Chelsea in the first half, but Vardy fired the Foxes in front with a fine near-post finish in the 51st minute.
It took Chelsea until late in the game to respond as Antonio Rudiger headed wide from a corner and then Marcos Alonso hit the post with only Kasper Schmeichel to beat.
But Leicester held out to move up to ninth in the Premier League and provide a welcome pre-Christmas boost for manager Claude Puel.
There had been reports before the match that Puel was fighting for his job over the festive period, but the performance – particularly in the second half – should lift his spirits as Leicester won at Stamford Bridge for the first time since 2000.
Chelsea, who had not previously lost at home this season, dominated possession in the first half without creating many clear openings.
A long ball from David Luiz almost provided the opening goal in the second minute, drifting just wide of the post after confusion in the Leicester defence left Schmeichel stranded on the edge of the box.
Luiz was then inches away from nodding in a corner at the back post before Hazard spun Harry Maguire but fired against the bar from 15 yards out.
Leicester were resolute and well-organised, and only a brilliant save from Kepa Arrizabalaga prevented Wilfred Ndidi scoring from 30 yards out in the 40th minute.
But the Foxes did break the deadlock in the 51st minute, sweeping forward on the counter before James Maddison slipped a pass through for Vardy and he fired past Arrizabalaga at the near post.
Hazard forced Schmeichel into a sharp save shortly afterwards, but otherwise Chelsea were lacklustre and careless in possession in both halves.
Leicester went closest to scoring next as Cesar Azpilicueta blocked a backheeled shot from Vardy and then Arrizabalaga pushed away an effort from Marc Albrighton.
Chelsea eventually threatened with injury-time approaching but Rudiger glanced a header wide from six yards out and then Schmeichel got the faintest touch to tip Alonso’s low shot onto the post.