It was far from a vintage performance from Pep Guardiola's side, but they still claimed all three points and now sit eight clear at the top of the Premier League table.
Chelsea are second after being held by Brighton, while Liverpool are nine behind City in third following their defeat at Leicester, though the Reds hold a game in hand.
Brentford created some good scoring opportunities in the opening stages.
A scrappy goalmouth scramble panicked the champions and Ederson made an impressive save from a Ruben Dias deflection.
But it was City who went ahead in the 17th minute when Foden tucked in a magnificent cross from De Bruyne.
The assist was truly beautiful from De Bruyne, who received the plaudits from Foden himself amid the celebrations.
The rest of the first half was fairly uneventful, apart from the increasing niggle between Fernandinho and Ivan Toney which culminated in the Brentford striker giving his adversary a gentle tread on the shin as he lay on the ball.
Brentford were defending stoically, not least in stoppage time when Ethan Pinnock's header denied Grealish a simple finish at the far post.
City could, and probably should, have scored more after the break.
Less than a minute into the second half Foden almost had another, his glancing header from another De Bruyne cross flying wide of the far post.
Foden, now playing the central attacking role with Grealish pushed out on the left, had the ball in the net four minutes later, but he was offside when he nodded in Gabriel Jesus' cross.
Then De Bruyne hit the near post with a skidding effort from the edge of the area and Fernandinho blazed a volley over.
Three minutes from time the ball was in the Brentford net again, but VAR adjudged Aymeric Laporte was just offside when he headed in De Bruyne's free-kick.
For once free-scoring City had to settle for just the one, which was enough to ensure a happy new year for Guardiola and his side.