Everton were excellent in the first period and frustrated a usually free-flowing City side.
The home fans thought their side had taken the lead in the 31st minute but Jonjoe Kenny crashed an effort into the side netting.
Then the ball dropped kindly for Richarlison but his snap-shot was down the throat of visiting keeper Ederson.
Anthony Gordon flashed a free-kick not far off target in stoppage-time and the Blues went into the break by far the happier of the two teams.
City improved in the second half and Jordan Pickford was forced into a good save from Foden’s low drive.
Then on 67 minutes, Pickford produced a magnificent double stop from Kevin de Bruyne and Bernando Silva.
Three minutes later, Foden headed over when he was left unmarked in the six-yard box.
The deadlock was finally broken in the 82nd minute - and it broke Evertonians’ hearts.
A cross into the box wasn’t dealt with by Michael Keane and there was Foden to snaffle home.
Everton were adamant they should have had a chance to equalise from the penalty spot with five minutes later when the ball appeared to hit the flailing arm of Rodri. But after a VAR review, nothing was given.
And with the rest of the results in the Premier League, Everton are now 17th and hover just a point above the relegation zone.
- Phil Foden: the City forward didn’t have his best game and should have scored long before he did. But Foden did show the composure required to settle matters and move Pep Guardiola’s men six points clear at the top.
- Allan: the Everton midfielder gave so much in the middle of the park. He covered every blade of grass and persistently snapped at City’s heels. It was a significant reason why de Bruyne was nowhere near his best.
- Donny van de Beek: another fine performance from the Manchester United loanee. The pleasant surprise about him is that he’s prepared to do the off-the-ball side of the game - in fact, he relishes it. Came off with what appeared an injury by making a clearance inside his own box.
- Michael Keane: the centre-back was resolute and dogged before his crucial error. Keane was caught flat footed from a deflected cross and failed to get any sort of purchase on the ball. Foden was the benefactor.
- Kevin de Bruyne: City’s talisman couldn’t influence things like he usually does. Seemed half-a-yard off the pace of the game at times and struggled when Allan got tight.
- Paul Tierney and Chris Kavanagh: referee Tierney had a poor afternoon. He harshly booked van de Beek for a foul in the first half. Then carded Allan for a foul - despite the assistant referee, who was two yards away, not giving it. Should then have awarded Everton a penalty and VAR referee Kavangh somehow didn’t give the decision. Officials were booed off by the fans at full-time.