Clayton Donaldson netted the winner as Brentford came from behind to beat promotion rivals Swindon.
Simon Ferry drilled home for a second consecutive game to give the visitors a first-half lead.
Substitute Sam Saunders brought the Bees level from the penalty spot after goalkeeper Wes Foderingham felled Donaldson in the box.
And the in-form striker scored his 21st of the season four minutes later, thundering the ball under Foderingham.
Swindon had their keeper to thank for keeping the score down, as he saved well from both Donaldson and Bradley Wright-Phillips.
The result means Brentford leapfrog the Robins into third and close the gap on second-placed Sheffield United to one point, although the Blades have a game in hand.
Kevin MacDonald's Swindon slip down to fourth, ahead of Tranmere and Yeovil on goal difference.
VIEWS FROM THE DRESSING ROOM
Swindon Town manager Kevin MacDonald told BBC Wiltshire:
"I thought we were the better side, especially in the first half.
"We're disappointed because we felt we should have won the game. We probably had enough chances to win two games.
"But in the end Brentford got a could of breakaways and won it.
"It's hard to fathom why, as we were so comfortable."
Brentford 21 Moore 05 Craig 06 Dean 14 Logan Booked 32 Moore Booked 04 Forshaw 08 Douglas 12 Adeyemi (Diagouraga - 84' ) 15 Dallas (Saunders - 56' ) 09 Donaldson 11 Trotta (Wright-Phillips - 62' Booked ) Substitutes 16 Gounet 24 Bidwell 07 Saunders 20 Diagouraga 22 Reeves 27 Oyeleke 17 Wright-Phillips Swindon 01 Foderingham Booked 03 McEveley 04 Flint 15 Thompson Booked 22 Ward 08 Ferry 11 Roberts (L Rooney - 77' ) 12 McCormack 18 Miller (Collins - 83' ) 16 Williams (De Vita - 89' ) 28 A Rooney Substitutes 30 Bedwell 05 Devera 06 Navarro 07 L Rooney 19 Thompson 09 Collins 23 De Vita