N'Golo Kante and David Luiz were on target for Maurizio Sarri's men as City paid for failing to take advantage of their first-half dominance.
Liverpool now lead City by a point after Mohamed Salah's hat-trick secured an impressive 4-0 win at Bournemouth.
Arsenal extended their unbeaten run to 21 games, but left it late to beat Huddersfield 1-0 thanks to Lucas Torreira's overhead kick seven minutes from time to remain level on points with third-placed Chelsea.
And Manchester United also finally hit some free-scoring form with a 4-1 win over Fulham at Old Trafford to move up to sixth.
City had looked imperious in recent weeks, winning their previous seven Premier League games, and started in the same vein.
However, Pep Guardiola's men missed the injured Sergio Aguero up front as Raheem Sterling and Leroy Sane wasted early chances.
Chelsea had barely been in the City half before taking the lead just before half-time when Eden Hazard teed up Kante to fire into the roof of the net.
However, it was the hosts who enjoyed the better of the second period and sealed a huge victory 12 minutes from time when Luiz's looping header from Hazard's corner dipped in via the crossbar.
Salah back to his best
Salah had been rested from the start for Wednesday's 3-1 win at Burnley that kept Jurgen Klopp's men on City's coat-tails, and the Egyptian looked to have benefited from a break as he looked more like the player who netted 44 goals in an incredible debut season at Anfield.
The visitors were slightly fortunate to take the lead on 25 minutes when Asmir Begovic fumbled Roberto Firmino's long-range shot Salah's follow-up effort was allowed to stand despite him appearing to be marginally offside.
Salah made the game safe by showing determination to stay on his feet despite being fouled before finding the bottom corner early in the second-half.
Steve Cook's own goal then made it 3-0 before Salah sealed his hat-trick by remaining remarkably cool to dribble past Begovic twice before prodding home.
"What Mo did around his two goals in the second half was just exceptional," said Klopp. "I don’t know at the moment a lot of players who would have scored these two goals."
Man Utd up to sixth
United took advantage of Bournemouth's defeat and Everton not being in action till Monday to rise up to sixth by ending a four-game winless run in the league with a comfortable victory over bottom club Fulham.
Jose Mourinho again rang the changes, but continued to leave Paul Pogba on the bench.
And it was three of those introduced to the side from Wednesday's 2-2 draw with Arsenal that scored in the first-half with Ashley Young, Juan Mata and Romelu Lukaku on target.
"We were strong, aggressive and intense," said a happy Mourinho. "At times it was beautiful football. The first-half was perfect."
Aboubakar Kamara's penalty pulled a goal back for Fulham, but any hope of a fightback from the visitors was ended by a red card for Andre-Frank Zambo Anguissa and Marcus Rashford added a fourth for the hosts.
Arsenal are still yet to lead a Premier League game at half-time this season, but again came good late on when Torreira acrobatically met Pierre-Emerick Aubameyang's cross to lift the Gunners above north London rivals Tottenham, who are in action later at Leicester.
Ralph Hasenhüttl's start to life as Southampton manager got off to a terrible start as Callum Paterson scored the winner in a 1-0 victory to move Cardiff up to 14th and three points clear of the bottom three.
Burnley also moved out of the drop zone courtesy of a first win in nine games as James Tarkowski scored the only goal to beat Brighton 1-0.
West Ham recorded a third straight win to move into the top half by coming from behind to beat Crystal Palace 3-2 thanks to second-half goals from Robert Snodgrass, Javier Hernandez and Felipe Anderson.