Match ends, Reading 1, Brentford 3.
Brentford scored two late goals to come from behind and beat promotion rivals Reading to go top of the Championship.
A pulsating game was heading for a draw until the league's top scorer Ivan Toney chested a cross for Josh Dasilva to lash in, before scoring himself when a rebound fell into his path.
The hosts deservedly led through Lucas Joao's penalty, after Josh Laurent was brought down as he attempted to shoot.
But Dasilva levelled with a solo goal and the Bees' late pressure paid off.
Thomas Frank's side are now two points clear after overtaking long-time Championship leaders Norwich, stretching their extraordinary unbeaten league run to 21 matches.
Reading, meanwhile, are nine points further back, dropping below Watford into fifth after seeing a seven-game unbeaten streak of their own ended.
The Royals almost fell behind early on when the returning Andy Yiadom needed goalkeeper Rafael to prevent his attempted clearance from looping into his own goal.
But Veljko Paunovic's side otherwise started the stronger, Joao squeezing his spot-kick past Bees keeper David Raya, who got a hand to his well-placed shot but could not deny the Portugal striker a 19th goal of the campaign.
Brentford forward Dasilva was recalled to the side after sitting out their victories over Bristol City and Middlesbrough and showed immense quality to beat his man down the right, cut inside and bend the ball high into the far corner to equalise.
Joao and Laurent drew strong saves from Raya, with Joao also prevented a clear sight of goal from an excellent Ethan Pinnock recovery challenge, as Reading finished the half well on top.
As a second half high on intensity but low on chances wore on the visitors began to turn the screw, with only a last-ditch Michael Morrison clearance stopping Toney from converting a low Dasilva cross.
However, with four minutes remaining the pressure finally told.
First, Toney nonchalantly chested a looping cross for Dasilva to emphatically finish from close range, before the former Peterborough striker notched his 23rd goal of the season, gobbling up a rebound after Sergi Canos' low effort from outside the box was parried back out by Rafael.
Reading manager Veljko Paunovic told BBC Radio Berkshire:
"I'm proud of the performance, the work rate and the spirit shown. All the pieces were there, we just couldn't quite see it out.
"Until the second goal, we showed a fantastic performance. The key was getting that second goal in the second half and we have to learn that one goal is not enough against sides like this, we have to keep pushing.
"We have to be proud of this performance and embrace it and look to consistently put those sort of performances in fitness-wise and try to be more decisive."
Brentford head coach Thomas Frank:
"There weren't many chances throughout the game and Reading started with an unbelievable tempo in the first half. Big, big credit to them, they pressed us very aggressively in the first half.
"Second half, I felt we were more on top and upped the tempo in everything we did. If there was going to be a winner, I felt it was going to be us. So it's a very good win against a very good side.
"In games like this, you need your top players like Josh [Dasilva] to step up and deliver. A bit of brilliance was what we were looking for.
"Of course we're pleased to be top, but it doesn't matter. It's the next game that matters the most and we know that when we keep being unbeaten, it's going to be harder to win the next one."
Line-ups
Reading
Formation 4-2-3-1
- 33Cabral Barbosa
- 17Yiadom
- 4Morrison
- 5McIntyre
- 3RichardsBooked at 74mins
- 8Rinomhota
- 28Laurent
- 7Olise
- 30SemedoSubstituted forAlukoat 77'minutes
- 14EjariaSubstituted forHolmesat 90+3'minutes
- 18Lucas João
Substitutes
- 2Pontes Esteves
- 9Baldock
- 15Gibson
- 22Southwood
- 24Aluko
- 29Holmes
- 34Tetek
- 46Onen
- 50Camara
Brentford
Formation 4-3-3
- 1Raya
- 22Dalsgaard
- 5Pinnock
- 29Bech Sørensen
- 3Henry
- 14DasilvaSubstituted forZamburekat 90+2'minutes
- 27Janelt
- 8JensenSubstituted forForssat 90+2'minutes
- 19MbeumoSubstituted forCanósat 64'minutes
- 17Toney
- 24Fosu-HenrySubstituted forGhoddosat 80'minutes
Substitutes
- 7Canós
- 15Forss
- 20Ghoddos
- 23Reid
- 28Daniels
- 30Rasmussen
- 31Zamburek
- 36Stevens
- 37Gilbert
- Referee:
- Tony Harrington
Match Stats
- Possession
- Home46%
- Away54%
- Shots
- Home8
- Away5
- Shots on Target
- Home3
- Away4
- Corners
- Home9
- Away5
- Fouls
- Home17
- Away12
Live Text
Post update
Full Time
Second Half ends, Reading 1, Brentford 3.
Post update
Sergi Canós (Brentford) wins a free kick in the defensive half.
Post update
Foul by Andy Yiadom (Reading).
Post update
Corner, Reading. Conceded by Ivan Toney.
Post update
Attempt blocked. Michael Olise (Reading) left footed shot from outside the box is blocked.
Substitution
Substitution, Reading. Thomas Holmes replaces Ovie Ejaria.
Substitution
Substitution, Brentford. Jan Zamburek replaces Josh Dasilva.
Substitution
Substitution, Brentford. Marcus Forss replaces Mathias Jensen because of an injury.
Post update
Foul by Mathias Jensen (Brentford).
Post update
Lucas João (Reading) wins a free kick in the attacking half.
Goal!
Goal! Reading 1, Brentford 3. Ivan Toney (Brentford) right footed shot from the centre of the box to the bottom left corner.
Post update
Attempt saved. Sergi Canós (Brentford) right footed shot from outside the box is saved in the bottom left corner. Assisted by Mathias Jensen.
Goal!
Goal! Reading 1, Brentford 2. Josh Dasilva (Brentford) right footed shot from the centre of the box to the top right corner. Assisted by Ivan Toney.
Post update
Vitaly Janelt (Brentford) wins a free kick in the defensive half.
Post update
Foul by Lucas João (Reading).
Substitution
Substitution, Brentford. Saman Ghoddos replaces Tariqe Fosu-Henry.
Post update
Tariqe Fosu-Henry (Brentford) wins a free kick in the defensive half.
Post update
Foul by Omar Richards (Reading).
Post update
Attempt blocked. Lucas João (Reading) right footed shot from outside the box is blocked. Assisted by Andy Rinomhota.