Phil Foden’s first-half goal was enough to give Pep Guardiola’s champions a 10th consecutive league win as they took full advantage of injury-hit Chelsea’s slip-up at Stamford Bridge.
The defending champions now have 50 points after 20 matches, putting them eight clear of second-placed Chelsea. Liverpool, who lost to Leicester on Tuesday, are a further point behind.
Brentford created some good scoring opportunities in the opening stages in west London, but it was City who went ahead in the 16th minute when Foden cleverly tucked in a cross from Kevin De Bruyne.
Foden and Jack Grealish had been benched for City’s wins over Newcastle and Leicester after they were pictured on a night out following the 7-0 home win over Leeds.
But the England pair were back in the starting line-up on Wednesday and Foden’s goal made it a perfect 10 out of 10 for City.
The visitors dominated possession but struggled to produce shots on target and Guardiola looked edgy in the latter stages as his team attempted to see out the victory.
They thought they had sealed the three points in the dying minutes when Aymeric Laporte rose to head home but his goal was ruled out by VAR for a marginal offside.
Thomas Tuchel’s Chelsea, who kicked off 45 minutes before City, looked poised for victory after Romelu Lukaku gave them a first-half lead but substitute Danny Welbeck struck in stoppage time for a 1-1 draw.
Chelsea wing-back Reece James limped off in the 27th minute with an apparent hamstring injury, to be replaced by Marcos Alonso.
The home side went ahead immediately, when Lukaku shook off the attentions of Neal Maupay after a tussle to power a header past goalkeeper Robert Sanchez from a Mason Mount corner.
But Graham Potter’s side came back strongly, with Adam Lallana and the impressive Yves Bissouma testing Edouard Mendy either side of half-time.
It looked as though it was going to be a familiar story for Brighton, who have struggled to score this season, but substitute Welbeck had other ideas, heading home Marc Cucurella’s cross in the 91st minute.
Tuchel counted the cost of further injuries to an already stretched squad after James limped off and Andreas Christensen had to be substituted at half-time.
The club announced on Tuesday that Chilwell faced surgery on a knee injury and Thiago Silva was missing on Wednesday due to a thigh complaint.
“Very frustrating, of course very disappointing because we gave everything and we had enough big chances to decide the match,” Tuchel told Amazon Prime.
“It was a very intense match and we have another two changes because of injuries (James and Christensen) so in the dressing room they are completely, completely exhausted but it is the same subject every single matchday now.”
City travel to face fourth-placed Arsenal on Saturday knowing a win would take them 11 points clear of Chelsea, who host Liverpool the following day.