Riyad Mahrez's free-kick and Raheem Sterling's late strike earned Manchester City a hard-fought 3-1 Premier League win at Everton.
Liverpool's 1-0 victory at Sheffield United earlier in the day extended its 100 per cent start to the season and moved the Reds eight points clear of City at the top of the table.
After Dominic Calvert-Lewin's fourth goal in three matches drew Marco Silva's men level following Gabriel Jesus' opener, it looked like City would follow its last away game, a 3-2 loss at Norwich City, with another disappointing result on the road.
But Mahrez, who has scored in three consecutive City starts, beat Jordan Pickford with a low curling free-kick and Sterling added gloss to bring the champions back to five points adrift of Jurgen Klopp's leaders.
Mahrez forced a first-minute save from Pickford before a long delay as medics tended to a Theo Walcott head injury, the winger taken to hospital for a precautionary assessment after being replaced by Alex Iwobi.
Algeria star Mahrez made a lively start and Ilkay Gundogan should have converted his excellent cross, the midfielder somehow crashing his shot against the crossbar from virtually on the line.
City's dominance told in the 24th minute, Kevin De Bruyne delivering a first-time cross that was impossible to defend, with Jesus - preferred to Sergio Aguero up front - stooping to nod home.
Everton levelled within 10 minutes, Fernandinho's error contributing as Seamus Coleman chipped Ederson, with Calvert-Lewin stealing the goal on the line.
De Bruyne hit a shot into the side-netting after the restart while Ederson made a fine save to keep out Yerry Mina's downward header.
Mahrez's rich vein of form crucially continued with a set-piece that beat an unsighted Pickford, then two missed chances from Calvert-Lewin proved costly as Sterling marked his 200th City appearance by scoring off the underside of the crossbar with six minutes to go.
What does it mean? Defensive deficiencies exposed again
Everton did not cause City as many problems as Norwich two weeks ago, but the champion' defence appeared permeable once more.
Deputising for the injured Aymeric Laporte and John Stones, Fernandinho gave the ball away in the build-up to Calvert-Lewin's leveller. Luckily for the Brazil international, Mahrez's moment of magic settled the game.
De Bruyne provides another masterclass
After an unstoppable performance in last weekend's 8-0 demolition of Watford, De Bruyne was at it again. He has recorded eight assists in the league already this season and nobody has ever set up more goals at this stage of the Premier League season than the Belgium playmaker.
Stunning Sterling reaches unique record
With 10 goals for club and country this season, Sterling has hit top form with Guardiola suggesting he could match the level of Lionel Messi and Cristiano Ronaldo in the future.
However, this was a strangely off-key performance from the England star, who made a series of poor decisions and missed an easy chance after being superbly set up by Mahrez.
Keeping this aside, Sterling did walk away with a unique distinction of having scored his 100th club goal in City's 3-1 win over Everton.
Sterling grabbed the clinching goal for the defending champions, his shot crashing in off the underside of the crossbar. He has now hit 100 goals in his club career, with 23 netted for Liverpool before he joined City in 2015.
200 wins for David Silva at City
David Silva broke a Premier League record becoming the quickest player to reach 200 wins in the competition.
Silva made his 289th Premier League appearance on Saturday, coming off the bench at Goodison Park to help Pep Guardiola's side close out a key victory.
The Spanish playmaker has needed 16 fewer matches to reach the landmark than previous record holder, the Chelsea great John Terry, who got to 200 in 305 outings.
Terry's former Chelsea colleagues Petr Cech (310 matches) and Ashley Cole (318 matches) are also in the top five, with Manchester United icon Ryan Giggs (315 matches) there as well.
City is at home to Dinamo Zagreb in the Champions League on Tuesday before hosting Wolves five days later. Everton goes to Burnley on Saturday.