Match ends, Brentford 2, Bristol City 2.
Brentford 2-2 Bristol City
Bobby Reid scored in the eighth minute of added time as Bristol City snatched a late draw against Brentford.
Reid pounced on a rebound from Bees goalkeeper Daniel Bentley to cancel out the hosts' second-half comeback.
Josh Brownhill opened the scoring for City when he fired into the bottom corner from Famara Diedhiou's cut-back.
Frank Fielding made a series of fine saves before Ollie Watkins' back-post header and Neal Maupay's curling shot made it 2-1, only for Reid to equalise.
Brentford dominated possession and had 24 shots to Bristol City's eight, but came up against an inspired Fielding.
The experienced goalkeeper kept out Jota on several occasions, made a reflex stop from Romaine Sawyers and denied Henrik Dalsgaard, who then hit the post with a rebound.
His brilliance was rewarded when deep into added time - due to an injury to Josh McEachran - Reid pounced to pass his goal-tally for the entire 2016-17 season just three games into the new campaign.
Brentford manager Dean Smith: "We are definitely running cold in the luck department at the moment. Bristol City are a good team but we looked a class above them. If we play like that we are a top-six team
"I'm disappointed that the points tally is not as high as it should be after three games. We are not getting what we deserve right now but if we keep playing like that we will.
"We need some luck but otherwise our performance was outstanding.
"Their two goals both came from ricochets that could have gone anywhere but dropped perfectly for them and their keeper has had an inspired game, but all that will even itself out."
Bristol City boss Lee Johnson: "We may have lost that game last year but we dug in and picked up a point that I genuinely thought we were worth.
"We had three good chances near the end and should have had a penalty, and a lot of that was down to the spirit of the players and the supporters.
"Brentford are a good side but I knew we'd get chances on the break. I just didn't think we'd have to defend as much as we did.
"Brentford probably should have won their last two games but sometimes you have to dig in in the Championship and that could be as big a point as we have won in a long time because of the spirit we showed."
- 29BarbetBooked at 49mins
- 10McEachranBooked at 60minsSubstituted forMokotjoat 86'minutes
- 23JotaSubstituted forJozefzoonat 80'minutes
- 21VibeSubstituted forMaupayat 73'minutes
- 8BrownhillSubstituted forO'Dowdaat 73'minutes
- 21PackBooked at 35minsSubstituted forHindsat 83'minutes
- 20PatersonBooked at 74mins
- 9DiedhiouSubstituted forO'Neilat 73'minutesBooked at 90mins
- Peter Bankes
- Shots on Target
Second Half ends, Brentford 2, Bristol City 2.
Goal! Brentford 2, Bristol City 2. Bobby Reid (Bristol City) right footed shot from the centre of the box to the bottom right corner.
Attempt saved. Nathan Baker (Bristol City) left footed shot from outside the box is saved in the bottom right corner.
Gary O'Neil (Bristol City) is shown the yellow card for a bad foul.
Neal Maupay (Brentford) wins a free kick in the defensive half.
Foul by Gary O'Neil (Bristol City).
Corner, Bristol City. Conceded by Yoann Barbet.
Attempt blocked. Callum O'Dowda (Bristol City) left footed shot from more than 35 yards is blocked.
Foul by Florian Jozefzoon (Brentford).
Joe Bryan (Bristol City) wins a free kick in the attacking half.
Foul by Neal Maupay (Brentford).
Bailey Wright (Bristol City) wins a free kick in the defensive half.
Attempt missed. Jamie Paterson (Bristol City) right footed shot from a difficult angle on the right is close, but misses the top right corner. Assisted by Callum O'Dowda.
Attempt saved. Neal Maupay (Brentford) right footed shot from long range on the left is saved in the top left corner. Assisted by Maxime Colin.
Attempt saved. Romaine Sawyers (Brentford) right footed shot from outside the box is saved in the bottom left corner.
Foul by Neal Maupay (Brentford).
Nathan Baker (Bristol City) wins a free kick in the defensive half.
Delay over. They are ready to continue.
Substitution, Brentford. Kamohelo Mokotjo replaces Josh McEachran because of an injury.
Substitution, Bristol City. Freddy Hinds replaces Marlon Pack.
Delay in match (Brentford).
Substitution, Brentford. Florian Jozefzoon replaces Jota.
Foul by Maxime Colin (Brentford).
Callum O'Dowda (Bristol City) wins a free kick in the defensive half.
Goal! Brentford 2, Bristol City 1. Neal Maupay (Brentford) right footed shot from the centre of the box to the top left corner.
Attempt blocked. Romaine Sawyers (Brentford) left footed shot from outside the box is blocked.
Hand ball by Eros Pisano (Bristol City).
Attempt missed. Romaine Sawyers (Brentford) right footed shot from outside the box is high and wide to the right. Assisted by Josh McEachran.
Jamie Paterson (Bristol City) is shown the yellow card.
Substitution, Bristol City. Callum O'Dowda replaces Josh Brownhill.
Substitution, Bristol City. Gary O'Neil replaces Famara Diedhiou.
Substitution, Brentford. Neal Maupay replaces Lasse Vibe.
Romaine Sawyers (Brentford) wins a free kick in the defensive half.
Foul by Josh Brownhill (Bristol City).
Offside, Bristol City. Josh Brownhill tries a through ball, but Bobby Reid is caught offside.
Foul by Ollie Watkins (Brentford).
Josh Brownhill (Bristol City) wins a free kick in the defensive half.
Corner, Brentford. Conceded by Frank Fielding.
Attempt saved. Jota (Brentford) left footed shot from outside the box is saved in the top left corner. Assisted by Ollie Watkins.