Clayton Donaldson's stunning volley was enough for Brentford to move level on points with sixth-placed Swindon.
Donaldson scored his third in five games with a thunderous strike and could have had another goal but for a smart save from Wes Foderingham.
For Swindon, Chris Martin's piledriver was well stopped by Simon Moore and the loan signing also headed just wide.
Simon Ferry also glanced past the post as Paolo Di Canio's side slipped to a fifth home defeat of the season.
VIEWS FROM THE DRESSING ROOM
Swindon Town manager Paolo Di Canio told BBC Wiltshire:
"I'm angry because it was an opportunity to stay up there (in the table).
"It was the opportunity to get wood for the chimney for the winter because it is cold.
"When you keep getting three points - this is all wood for the winter period.
"We always said we have finish this season comfortable - in mid-table or maybe higher - and although we are near the play-offs, it is difficult for me to improve the players."
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +3:30 Booking
Booking The referee cautions Simon Moore for time wasting.90:00 +2:49
Outswinging corner taken left-footed by Jay McEveley from the left by-line to the near post, Headed effort from deep inside the penalty area by Chris Martin goes harmlessly over the crossbar.87:44
Chris Martin produces a header from deep inside the six-yard box which goes wide of the right-hand post.86:04
Adam Rooney concedes a free kick for a foul on Sam Saunders. Shot comes in from Sam Saunders from the free kick.85:17
The assistant referee flags for offside against Jay McEveley. Free kick taken by Simon Moore.83:44 Substitution
Substitution Rob Kiernan is brought on as a substitute for Adam Forshaw.82:42
Clearance made by Chris Martin.82:42 Booking
Booking The referee shows Darren Ward a yellow card for dissent.82:08
Outswinging corner taken from the right by-line by Sam Saunders,81:01
Unfair challenge on Clayton Donaldson by Joe Devera results in a free kick. Direct effort from the free kick comes in from Sam Saunders.79:46
Free kick awarded for an unfair challenge on Clayton Donaldson by Joe Devera. Adam Forshaw crosses the ball in from the free kick, Jay McEveley makes a clearance.77:49
A cross is delivered by Matt Ritchie, save by Simon Moore.76:07
Free kick awarded for a foul by Adam Forshaw on Danny Hollands. Wes Foderingham restarts play with the free kick.75:00 Substitution
Substitution Sam Saunders is brought on as a substitute for Paul Hayes.75:00
Unfair challenge on Paul Hayes by Danny Hollands results in a free kick. Direct free kick taken by Sam Saunders.73:17 Substitution
Substitution Adam Rooney is brought on as a substitute for Gary Roberts.73:17
Foul by Toumani Diagouraga on John Bostock, free kick awarded. Jay McEveley takes the free kick.70:36 Substitution
Substitution Harry Forrester comes on in place of Scott Barron.69:22
Clayton Donaldson is ruled offside. Direct free kick taken by Jay McEveley, The ball is crossed by Scott Barron.
Centre by Jay McEveley, Simon Moore makes a save.63:12
Jake Bidwell fouled by Matt Ritchie, the ref awards a free kick. Direct free kick taken by Simon Moore.60:56
Effort on goal by Darren Ward from just inside the penalty box goes harmlessly over the target.60:56 Substitution
Substitution (Swindon) makes a substitution, with John Bostock coming on for Simon Ferry.60:56
Inswinging corner taken left-footed by Matt Ritchie from the right by-line to the near post,59:51
Free kick awarded for a foul by Clayton Donaldson on Danny Hollands. Direct free kick taken by Darren Ward.58:10
The assist for the goal came from Paul Hayes.58:10 Goal scored
Goal! - Clayton Donaldson - Swindon 0 - 1 Brentford Clayton Donaldson fires in a goal from deep inside the penalty box to the top left corner of the goal. Swindon 0-1 Brentford.57:06
Simon Moore takes the direct free kick.57:06 Substitution
Substitution Miles Storey replaces James Collins.57:06
Chris Martin challenges Jonathan Douglas unfairly and gives away a free kick.55:46
Matt Ritchie gives away a free kick for an unfair challenge on Jake Bidwell. Free kick crossed by Adam Forshaw, save by Wes Foderingham.54:22
Simon Ferry has a headed effort at goal from deep inside the area missing to the right of the goal.50:20
Harlee Dean gives away a free kick for an unfair challenge on Chris Martin. Matt Ritchie has an effort direct from the free kick, save made by Simon Moore.49:55
Jonathan Douglas has an effort at goal from just inside the box that misses to the left of the goal.45:57
Unfair challenge on Clayton Donaldson by Jay McEveley results in a free kick. Free kick taken by Harlee Dean.45:01
The referee blows his whistle to start the second half.45:00 +1:16 Half time
Half Time The players leave the pitch at half time.44:24
Short corner taken by Simon Ferry from the left by-line.44:06
James Collins takes a shot. Simon Moore makes a save.41:35
Corner taken short by Simon Ferry, Effort on goal by Matt Ritchie from inside the penalty box misses to the right of the target.41:22
Matt Ritchie takes a inswinging corner.40:59
Chris Martin takes a shot.39:34
Matt Ritchie takes the outswinging corner, Tony Craig manages to make a clearance.38:31
Corner from the right by-line taken by Gary Roberts, Shaleum Logan makes a clearance.36:20
Corner taken by Scott Barron from the left by-line.33:13
Outswinging corner taken right-footed by Adam Forshaw, clearance made by Jay McEveley.31:52
James Collins is caught offside. Direct free kick taken by Tony Craig.29:48
Danny Hollands gives away a free kick for an unfair challenge on Clayton Donaldson. Direct free kick taken by Harlee Dean.28:34
Short corner taken by Simon Ferry from the left by-line.27:56
Free kick awarded for a foul by Harlee Dean on Jay McEveley. Free kick taken by Jay McEveley.26:57
Strike comes in from Matt Ritchie from the free kick, save made by Simon Moore.26:57 Booking
Booking Jonathan Douglas is shown a yellow card for unsporting behaviour.26:35
Jonathan Douglas gives away a free kick for an unfair challenge on Simon Ferry.25:54
Paul Hayes is caught offside. Free kick taken by Wes Foderingham.21:51
Short corner taken by Gary Roberts.17:18
Unfair challenge on Simon Ferry by Tony Craig results in a free kick. Free kick taken by Joe Devera.13:03
Foul by Chris Martin on Tony Craig, free kick awarded. Tony Craig takes the direct free kick.11:06
Outswinging corner taken right-footed by Adam Forshaw from the right by-line to the near post, clearance by Danny Hollands.10:55
James Collins takes a shot. Simon Moore makes a save.9:52
Clayton Donaldson gives away a free kick for an unfair challenge on Jay McEveley. Wes Foderingham restarts play with the free kick.8:24
Jay McEveley challenges Adam Forshaw unfairly and gives away a free kick. Free kick taken by Scott Barron.5:52
Unfair challenge on Tony Craig by Chris Martin results in a free kick. Simon Moore takes the direct free kick.5:31
Free kick awarded for an unfair challenge on Darren Ward by Paul Hayes. Darren Ward takes the direct free kick.1:21
Tony Craig fouled by Danny Hollands, the ref awards a free kick. Simon Moore takes the free kick.0:00
The match gets underway.
Live data and text provided by our data suppliers