Maxime Colin avböjde Romaine Sawyers andra halv skott förbi ersättare Ivan Lucic för att vinna ett spel högt på chanser men låg på kvalitet efterbehandling.
Bees bästa målskytt Scott Hogan hade tre stora chanser att sätta sin sida framåt.
Tammy Abraham kunde ha gett staden huvudrollen, men han slog i baren tidigt i andra halvan innan han saknade en en-mot-en när det var lättare att göra mål.
Vinsten flyttar Brentford en plats och en punkt ovanför City till 14: e plats i mästerskapet.
Staden stod i skuld till målvakten Frank Fielding som gjorde två stora räddningar som Hogan två gånger bröt igenom i den första perioden, innan den tidigare England Under-21 internationella tvingades iväg med en höftskada.
Abraham hade också två goda chanser innan pausen, men hans bästa ansträngningar kom efter omstart som 13-mål Chelsea låntagare valde makt och kraschade ett skott mot baren när en komponerad finish kan ha gett Robins ledningen.
Lucic förnekade Hogans tredje en-mot-en innan Abraham hade en av sina egna, men hans chipsade finish över Daniel Bentley var bred av märket.
Colin säkrade segern, även om det är tveksamt om han visste mycket om det, som Sawyers långa räckvidd arbete avled från benen till fel fot Lucic.
Bristol City huvudtränare Lee Johnson:
"Jag är mycket besviken på resultatet men okej med föreställningen eftersom på en annan kväll skulle vi ha gjort tre eller fyra mål.
"Spelet har berott på att vi inte tar våra chanser. Tammy Abraham spelade bra och kom in i några bra områden, men han kunde bara inte avsluta.
"Han är en ung spelare och kommer att komma igen. Det är en tid att lägga en arm om honom, inte ta ut en stor pinne.
"Jag var mycket mer bekymrad över hur vi spelade på Huddersfield på lördag. Ikväll verkade det som om en av oss hade kört över en svart katt."
Brentford manager Dean Smith:
"Jag tror att bollen gick in från Maxime Colins rygg. Ibland behöver du lite tur för att spela in segrar i mästerskapet och han kommer att vilja ha målet, även om det var en fantastisk strejk av Romaine.
"Det var en tuff kväll för oss. Spelet var slut för att avsluta med chanser för båda sidor.
"En dragning skulle ha varit ett rättvist resultat, men vi lyckades komma över gränsen.
"Båda lagets huvudmålgörare kunde inte avsluta natten. Scott Hogan för oss och Tammy Abraham för dem hade många chanser, främst på grund av misstag, och kunde inte kapitalisera."
Matchen slutar, Bristol City 0, Brentford 1.
Andra halvlek, Bristol City 0, Brentford 1.
Försök missade. Josh McEachran (Brentford) vänster fotade skott från mer än 40 meter på vänster vinge missar till höger. Hjälpt av Daniel Bentley efter en snabb paus.
Hörnet, Bristol City. Förföljd av John Egan.
Försök blockerat. Lee Tomlin (Bristol City) vänster fotade skott utanför lådan är blockerad.
Offside, Bristol City. Lee Tomlin försöker en genom boll, men Gustav Engvall fångas offside.
Korey Smith (Bristol City) visas det gula kortet för en dålig foul.
Foul av Korey Smith (Bristol City).
Romaine Sawyers (Brentford) vinner en frispark i anfallshalvan.
Offside, Bristol City. Hördur Bjorgvin Magnusson provar en genomboll, men Gustav Engvall fångas offside.
Ersättning, Brentford. Sullay Kaikai ersätter Lasse Vibe.
Utanför, Brentford. Josh McEachran försöker en genom boll, men Scott Hogan fångas offside.
Försöket räddades. Gustav Engvall (Bristol City) höger fotade skott från mitten av lådan sparas i mitten av målet. Hjälpt av Lee Tomlin med en genomgångskula.
Bobby Reid (Bristol City) vinner en frispark på högerkanten.
Foul av Romaine Sawyers (Brentford).
Ersättning, Brentford. Yoann Barbet ersätter Tom Field.
Hörnet, Brentford. Sammankallad av Aden Flint.
Försök blockerat. Romaine Sawyers (Brentford) höger fotade skott utanför lådan är blockerad. Hjälpt av Lasse Vibe.
Försök blockerat. Josh McEachran (Brentford) vänster fotade skott från mitten av lådan är blockerad. Hjälpt av Lasse Vibe.
Försök blockerat. John Egan (Brentford) höger fotade skott från mitten av lådan är blockerad. Assisterad av Andreas Bjelland.
Hörnet, Brentford. Förföljd av Ivan Lucic.
Hörnet, Brentford. Sammankallad av Adam Matthews.
Försök missade. Luke Freeman (Bristol City) vänster fotade skott från utsidan lådan är hög och bred till vänster. Hjälpt av Tammy Abraham.
Lee Tomlin (Bristol City) visas det gula kortet för en dålig foul.
Foul av Lee Tomlin (Bristol City).
Scott Hogan (Brentford) vinner en frispark på vänsterkanten.
Hörnet, Bristol City. Sammankallad av Andreas Bjelland.
Försök blockerat. Lee Tomlin (Bristol City) höger fotade skott utanför lådan är blockerad.
Lee Tomlin (Bristol City) vinner en frispark i anfallshalvan.
Foul av Ryan Woods (Brentford).
Mål!  Bristol City 0, Brentford 1. Maxime Colin (Brentford) höger fotade skott från mitten av lådan till mitten av målet. Hjälpt av Romaine Sawyers.
Försök blockerat. Romaine Sawyers (Brentford) höger fotade skott utanför lådan är blockerad. Hjälpt av Scott Hogan.
Ersättning, Brentford. Josh McEachran ersätter Nico Yennaris.
Försök missade. Lasse Vibe (Brentford) höger fotade skott från utsidan lådan är hög och bred till höger. Hjälpt av Ryan Woods.
Tammy Abraham (Bristol City) vinner en frispark på vänsterkanten.
Foul av John Egan (Brentford).
Försök missade. Tammy Abraham (Bristol City) höger fotade skott från mitten av lådan missar till vänster. Hjälpt av Bobby Reid med en genomgångskula efter en snabb paus.
Substitution, Bristol City. Gustav Engvall ersätter Scott Golbourne.
Substitution, Bristol City. Lee Tomlin ersätter Marlon Pack.
Utanför, Brentford. Romaine Sawyers försöker en genom boll, men Tom Field fångas offside.
Brentford vann på varandra följande matcher för andra gången i Championship denna säsong som de kantade förbi Bristol City.