City were able to gain a measure of revenge for their Champions League exit at the hands of Spurs as they edged a hard-fought encounter at the Etihad Stadium to make it 10 league wins on the bounce.
Tottenham will feel hard done by though having missed several good chances, while they could have had a penalty in the second half when Kyle Walker handled inside the box.
Man City were quick off the mark and took the lead thanks to Foden’s diving header. The 18-year-old became the third youngest scorer in the competition’s history, nodding the ball into the back of the net from close range from Sergio Aguero’s header back across the six-yard box.
Pep Guardiola’s men dominated possession throughout the half but found it tough to open up Spurs, who had the better chances.
Heung-min Son was twice denied smartly by Ederson, who came out well to save at the South Korean’s feet after a mazy run on one occasion.
Christian Eriksen also had a great chance to equalise when played through on goal by Lucas Moura but, under pressure, he hit his strike straight at Ederson.
City’s half took a turn for the worse in the 38th minute when Kevin de Bruyne had to leave the field through injury, the latest setback for the Belgian in a season plagued by injury.
Chances were few and far between after the interval, Foden screwing an effort wide from 12 yards out after Spurs had failed to clear their lines.
Then came the big controversial moment in the game when Dele Alli flicked the ball back past Walker, only for the City right-back’s upper arm to knock the ball out of play. Alli was convinced it should have been a spot kick but his protests fell on deaf ears as referee Michael Olivier waved him away.
Raheem Sterling then should have wrapped up the points when being picked out by Leroy Sane inside the penalty area, only to see the out-stretched leg of Paulo Gazzaniga deny him.
Lucas Moura then saw Ederson deny him a late equaliser as Spurs’ top-four hopes were dealt a blow.
The victory for City sets up a huge Manchester derby on Wednesday night as Pep Guardiola’s men head to Old Trafford to play their game in hand over title rivals Liverpool.