Brentford 0 - 1 Swindon
Swindon boosted their survival hopes with their first win in 19 games against Brentford.
The hosts should have taken a first half lead but Jeffrey Schlupp side footed wide with the goal gaping after a neat Gary Alexander through ball.
Swindon made the breakthrough with 10 minutes remaining when Calvin Andrew turned on the edge of the area and smashed a shot into the bottom corner.
Andrew almost added a second but his dipping drive hit the crossbar.
Brentford manager Nicky Forster told BBC London 94.9: "It was disappointing. I think we didn't get going, we didn't create enough chances.
"We worked very hard, we tried to stop them in midfield from getting the ball and moving it around.
"But we just know that we were off the pace too much at the moment."
Swindon manager Paul Hart told BBC Wiltshire: "We felt we were going to win at some stage and we should have won before now.
"It was a great goal, great strike. He's (Calvin Andrew) deserved that for the work he's put in.
"I'm delighted, absolutely delighted."
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +2:49
Lewis Grabban takes a short corner.90:00 +2:09
The assistant referee signals for offside against Alassane N'Diaye. Indirect free kick taken by Simon Moore.90:00 +1:15
Free kick awarded for an unfair challenge on Calvin Andrew by Robbie Neilson. Michael Rose restarts play with the free kick.89:11
Inswinging corner taken by Sam Saunders from the left by-line.87:32
Free kick awarded for an unfair challenge on Sam Saunders by Alan Sheehan. Robbie Neilson takes the free kick.85:05
Unfair challenge on Jonathan Douglas by Myles Weston results in a free kick. Phil Smith takes the free kick.84:19
Calvin Andrew takes a long range shot clearing the crossbar.83:27
Sam Wood concedes a free kick for a foul on Alassane N'Diaye. Free kick crossed by Matt Ritchie, clearance made by Leon Legge.81:52 Substitution
Substitution Jon-Paul McGovern goes off and Michael Rose comes on.81:52 Substitution
Substitution Myles Weston comes on in place of Gary Alexander.80:50 Booking
Booking Calvin Andrew goes into the book.79:55
The assist for the goal came from David Prutton.79:55 Goal scored
Goal! - Calvin Andrew - Brentford 0 - 1 Swindon Calvin Andrew grabs a goal from just outside the penalty box to the bottom left corner of the goal. Brentford 0-1 Swindon.79:12
Gary Alexander is adjudged to have handled the ball. Jonathan Douglas restarts play with the free kick.78:29
The assistant referee signals for offside against Jon-Paul McGovern. Simon Moore restarts play with the free kick.77:45
Short corner taken by Jon-Paul McGovern from the right by-line.74:52
Alan Sheehan takes a shot. Save made by Simon Moore.73:59
Foul by Adam Reed on Jonathan Douglas, free kick awarded. Phil Smith restarts play with the free kick.71:53
Strike on goal comes in from Alan Sheehan from the free kick.
Booking Leon Legge booked.71:42
Leon Legge gives away a free kick for an unfair challenge on Jonathan Douglas.66:55 Substitution
Substitution Marcus Bean leaves the field to be replaced by Sam Wood.65:25 Substitution
Substitution Lewis Grabban joins the action as a substitute, replacing Jeffery Schlupp.65:25 Substitution
Substitution Michael Timlin goes off and Alassane N'Diaye comes on.63:53
Free kick awarded for an unfair challenge on Marcus Bean by Lecsinel Jean-Francois. Sam Saunders restarts play with the free kick.61:47
Indirect free kick taken by Sam Saunders.61:47 Booking
Booking Lecsinel Jean-Francois receives a caution.61:29
Lecsinel Jean-Francois challenges Jeffery Schlupp unfairly and gives away a free kick.58:11
Corner taken right-footed by Sam Saunders, Leon Legge produces a right-footed shot from inside the area that clears the crossbar.55:51
Calvin Andrew is ruled offside. Pim Balkestein takes the indirect free kick.53:15
David Prutton takes a shot. Save by Simon Moore.52:12
Shot from long distance by Jon-Paul McGovern goes wide of the left-hand post.50:42
The assistant referee signals for offside against Calvin Andrew. Simon Moore takes the free kick.46:04
Corner taken by Michael Timlin played to the near post, Gary Alexander makes a clearance.45:01
The referee gets the second half started.45:00 +1:08 Half time
Half Time The half-time whistle blows.41:45
Sam Saunders takes a shot. Andy Frampton gets a block in.38:16
The referee blows for offside. Phil Smith takes the indirect free kick.35:07
Free kick awarded for a foul by Robbie Neilson on Michael Timlin. Jonathan Douglas produces a shot on goal direct from the free kick, Jeffery Schlupp gets a block in.30:43
Unfair challenge on Jonathan Douglas by Sam Saunders results in a free kick. David Prutton takes the free kick.27:51
Effort from the edge of the penalty box by Calvin Andrew goes wide of the right-hand upright.27:09
The offside flag is raised against Marcus Bean. Phil Smith restarts play with the free kick.25:29
Adam Reed fouled by Michael Timlin, the ref awards a free kick. Free kick taken by Robbie Neilson.25:02
Gary Alexander has an effort at goal. Andy Frampton gets a block in.24:50
Gary Alexander takes a shot. Blocked by Andy Frampton.21:11
Adam Reed takes a shot. Andy Frampton gets a block in.20:48
Calvin Andrew gives away a free kick for an unfair challenge on Leon Legge. Indirect free kick taken by Simon Moore.20:10
Corner taken left-footed by Alan Sheehan, clearance by Leon Legge.18:14
Outswinging corner taken right-footed by Sam Saunders, clearance by David Prutton.15:43
The official flags Gary Alexander offside. Indirect free kick taken by Phil Smith.10:21
Pim Balkestein challenges Calvin Andrew unfairly and gives away a free kick. Jonathan Douglas restarts play with the free kick.8:26
Effort from inside the area by Jeffery Schlupp misses to the right of the goal.4:30
Free kick awarded for an unfair challenge on Pim Balkestein by Michael Timlin. Simon Moore takes the indirect free kick.3:05
Inswinging corner taken right-footed by Sam Saunders, Lecsinel Jean-Francois makes a clearance.2:14
Sam Saunders takes a inswinging corner from the left by-line played to the near post, clearance by Jonathan Douglas.0:00
The referee starts the match.
Live data and text provided by our data suppliers