Brentford beat Swindon 5-4 on penalties after a pulsating 3-3 Griffin Park draw to reach the League One play-off final.

After Bees keeper Simon Moore saved Miles Storey's spot-kick, Adam Forshaw hammered in to spark a pitch invasion.

At 3-1 up, Brentford looked like they done enough following a brace from Clayton Donaldson, but Aden Flint's 95th-minute header forced extra time.

Swindon defender Nathan Byrne was then sent off in extra time, but no further goals meant a dramatic penalty finale.

Griffin Park penalties . . .

  • Swindon 0-1 DEVERA
  • Brentford 1-1 SAUNDERS
  • Swindon 1-2 FLINT
  • Brentford 2-2 HAYES
  • Swindon 2-3 COLLINS
  • Brentford 3-3 DEAN
  • Swindon MISS (Storey)
  • Brentford 4-3 CRAIG
  • Swindon 4-4 ROBERTS
  • Brentford 5-4 FORSHAW

Uwe Rosler's men, who famously missed out on automatic promotion to Doncaster in the most painful of circumstances on the final day of the regular League One season, now head for Wembley to play Yeovil Town.

The Bees will make the short trip across London on 19 May looking to put right a record of never having been promoted via the play-offs, despite six previous attempts.

The match was never short of action right from the off, home keeper Moore having been forced to tip over a header from Robins centre-back Flint within the opening two minutes.

Although looking nervy at the start, Brentford grew into the game, dominating most of the first half.

The Bees went ahead on 24 minutes when Adam Rooney diverted a corner into his own net. And Donaldson then made it 2-0 five minutes before the break with a low left-foot shot from the edge of the area following good work from Marcello Trotta.

The visitors then had keeper Wes Foderingham to thank for keeping them in the tie when he turned Donaldson's far post header behind with his knees before producing a sharp save to parry a stunning volley from Harry Forrester.

Trotta turns it round

"Today's game proved everyone at Brentford has moved on from Marcello Trotta's penalty miss on the last day of the season against Doncaster Rovers.

"The 20-year-old, on loan from Fulham, restored to the starting line-up after sitting out the first leg at Swindon, was a constant threat up front.

"He was given a standing ovation when substituted and, after watching the penalties from the bench, was chaired off by Bees supporters."

Rob Stevens, BBC Sport

Rooney pulled a goal back on 44 minutes, capitalising after Brentford had failed to clear their lines. But the Bees then made the perfect start to the second half when Donaldson picked up a loose pass from Swindon's Gary Roberts to run clear of the defence and chip Foderingham.

The Robins came back into the game when right-back Joe Devera hammered home a 57th-minute volley to set up a cagey final half hour. But, just as in Saturday's first leg at the County Ground, when Kevin O'Connor levelled with an injury-time penalty, there was once again late drama.

With the game deep into stoppage time, Flint powered in Roberts' corner to tie it up at 4-4 on aggregate, force extra time and spark jubilant scenes in the away stand.

The added 30 minutes were understandably tense, with the only chance of note coming when Foderingham smothered a close range effort from Donaldson.

Brentford were then handed a man advantage when Swindon left-back Byrne picked up a second booking for deliberate handball, to be given his marching orders by referee Nigel Miller. But they could not find a way past the resolute visitors' defence.

After Swindon kicked off the shoot-out, all the first six penalties were converted until teenage Robins sub Storey had his effort saved by Moore, diving low to his left.

It then fell to midfielder Forshaw to keep his nerve, hammer high into the net and book the relieved Bees' first trip to a Wembley play-off final since 1997.

VIEW FROM THE DRESSING ROOM

Brentford boss Uwe Rosler:

"Swindon took us to the wire. But the way we played for 120 minutes, just 48 hours after the last match, was magnificent and we deserved to go through.

"My players never felt sorry for themselves and they never stopped.

"After what had happened before, and to concede in the last second again, for them to come back psychologically, I am privileged to have a squad like this in my first job in English football."

Swindon Town manager Kevin MacDonald:

"The character of the team has been fantastic all the way through the season.

"You saw that today, but the sending-off turned the game.

"Miles Storey showed a lot of character to step up there. I am proud of him, but someone had to miss."

Lineup, Bookings (9) & Substitutions (6)

Brentford

  • 21 Moore
  • 05 Craig
  • 06 Dean
  • 14 Logan
  • 24 Bidwell Booked
  • 04 Forshaw
  • 12 Adeyemi (Douglas - 56' )
  • 20 Diagouraga Booked
  • 09 Donaldson Booked
  • 11 Trotta (Hayes - 82' )
  • 19 Forrester (Saunders - 70' )

Substitutes

  • 16 Gounet
  • 18 Hodson
  • 02 O'Connor
  • 07 Saunders
  • 08 Douglas
  • 17 Wright-Phillips
  • 23 Hayes

Swindon Town

  • 01 Foderingham
  • 04 Flint Booked
  • 05 Devera
  • 22 Ward
  • 24 Byrne Dismissed after an earlier booking
  • 08 Ferry (Storey - 78' )
  • 11 Roberts Booked
  • 12 McCormack Booked
  • 25 Luongo Booked
  • 16 Williams (Collins - 51' )
  • 28 A Rooney (De Vita - 51' )

Substitutes

  • 30 Bedwell
  • 06 Navarro
  • 07 L Rooney
  • 18 Miller
  • 09 Collins
  • 20 Storey
  • 23 De Vita
Ref: Miller
Att: 9,109

Match Stats

Shots

17 8

On target

9 5

Corners

10 11

Fouls

6 15

Live Text Commentary

125:44 Penalty

Penalty scored by Adam Forshaw. Brentford 5-4 Swindon on penalties.

125:16 Penalty

Penalty scored by Gary Roberts. Brentford 4-4 Swindon on penalties.

124:44 Penalty

Penalty scored by Tony Craig. Brentford 4-3 Swindon on penalties.

124:00

Penalty taken by Miles Storey saved by Simon Moore.

123:27 Penalty

Penalty scored by Harlee Dean. Brentford 3-3 Swindon on penalties.

122:42 Penalty

Penalty scored by James Collins. Brentford 2-3 Swindon on penalties.

122:05 Penalty

Penalty scored by Paul Hayes. Brentford 2-2 Swindon on penalties.

121:31 Penalty

Penalty scored by Aden Flint. Brentford 1-2 Swindon on penalties.

121:00 Penalty

Penalty scored by Sam Saunders. Brentford 1-1 Swindon on penalties.

120:01

All is set for the penalty shoot-out to start.

120:01 Penalty

Penalty scored by Joe Devera. Brentford 0-1 Swindon on penalties.

120:00 +2:16

The match is going to penalties.

120:00 +1:56

Shaleum Logan takes a shot. Save by Wes Foderingham.

116:52 Booking

Booking Darren Ward is cautioned by the ref for unsporting behaviour.

115:58

Clayton Donaldson takes a shot. Save by Wes Foderingham.

114:17 Booking

Booking Booking for Clayton Donaldson.

114:07

Free kick awarded for an unfair challenge on James Collins by Adam Forshaw. Wes Foderingham restarts play with the free kick.

112:55

Corner taken left-footed by Sam Saunders.

112:37

Clayton Donaldson takes a shot. Save by Wes Foderingham.

108:22

James Collins gives away a free kick for an unfair challenge on Jonathan Douglas. Direct free kick taken by Toumani Diagouraga.

107:52

Sam Saunders produces a right-footed shot from just outside the penalty box that misses to the left of the goal.

105:10

Handball by Raffaele De Vita. Simon Moore takes the free kick.

105:01

The referee blows to start the second half of extra time.

104:22

Gary Roberts takes the inswinging corner, Harlee Dean manages to make a clearance.

103:20

Corner from the left by-line taken by Massimo Luongo, Simon Moore makes a save.

101:43

Shot from outside the box by Raffaele De Vita goes wide right of the target.

100:09

Sam Saunders crosses the ball from the free kick right-footed from right wing, Alan McCormack makes a clearance.

100:09 Dismissal

Dismissal The referee shows Nathan Byrne a red card.

99:37

Nathan Byrne is adjudged to have handled the ball.

98:57

Corner taken short by Sam Saunders.

97:58

Alan McCormack is penalised for a handball. Sam Saunders produces a strike on goal direct from the free kick, Massimo Luongo gets a block in.

97:27

Simon Moore restarts play with the free kick.

97:27 Booking

Booking The referee books Massimo Luongo for unsporting behaviour.

97:17

Massimo Luongo challenges Jonathan Douglas unfairly and gives away a free kick.

95:34

Gary Roberts takes the direct free kick.

95:34 Booking

Booking The referee cautions Jake Bidwell for unsporting behaviour.

95:18

Jake Bidwell challenges James Collins unfairly and gives away a free kick.

94:00

Direct free kick taken by Simon Moore.

94:00 Booking

Booking The referee shows Gary Roberts a yellow card.

93:46

Gary Roberts gives away a free kick for an unfair challenge on Jake Bidwell.

92:51

Shaleum Logan sends in a cross, clearance made by Nathan Byrne.

91:46

Corner taken by Gary Roberts from the right by-line played to the near post.

90:00 +6:38

The referee blows for the end of normal time.

90:00 +5:47 Booking

Booking Aden Flint is cautioned by the ref for unsporting behaviour.

90:00 +4:39

Assist by Gary Roberts.

90:00 +4:39 Goal scored

Goal! - Aden Flint - Brentford 3 - 3 Swindon Aden Flint grabs a headed goal from close range. Brentford 3 (4)-(4) 3 Swindon.

90:00 +4:29

Inswinging corner taken left-footed by Gary Roberts,

90:00 +3:39

Inswinging corner taken left-footed by Gary Roberts from the right by-line.

90:00 +1:49

The ball is crossed by James Collins, save by Simon Moore.

90:00 +0:18

The referee blows for offside against Paul Hayes. Free kick taken by Wes Foderingham.

87:57

Free kick awarded for an unfair challenge on Jake Bidwell by Aden Flint. Simon Moore takes the direct free kick.

86:53

Sam Saunders takes a shot.

86:43

The ball is delivered by Clayton Donaldson.

85:28

Gary Roberts takes the inswinging corner, clearance made by Paul Hayes.

85:04

Adam Forshaw concedes a free kick for a foul on Alan McCormack. Direct free kick taken by Wes Foderingham.

81:45 Substitution

Substitution Paul Hayes comes on in place of Marcello Trotta.

79:56

Free kick taken by Alan McCormack.

79:56 Booking

Booking Toumani Diagouraga is shown a yellow card for unsporting behaviour.

79:45

Toumani Diagouraga concedes a free kick for a foul on Raffaele De Vita.

79:20

Joe Devera sends in a cross, comfortable save by Simon Moore.

78:56

Gary Roberts takes a inswinging corner from the right by-line played to the near post, clearance made by Tony Craig.

78:43

Alan McCormack delivers the ball.

77:39 Substitution

Substitution Miles Storey on for Simon Ferry.

75:49

Simon Ferry gives away a free kick for an unfair challenge on Marcello Trotta. Tony Craig takes the free kick.

74:16

Foul by Darren Ward on Clayton Donaldson, free kick awarded. Sam Saunders crosses the ball in from the free kick.

72:59

Alan McCormack takes a shot. Marcello Trotta gets a block in.

72:15

The referee blows for offside. Indirect free kick taken by Wes Foderingham.

70:45

Adam Forshaw sends in a cross.

70:12

Corner taken by Sam Saunders.

69:05 Substitution

Substitution Harry Forrester goes off and Sam Saunders comes on.

67:31

The official flags James Collins offside. Free kick taken by Tony Craig.

65:35

Raffaele De Vita fouled by Adam Forshaw, the ref awards a free kick. The free kick is delivered right-footed by Alan McCormack from right channel.

64:47

Joe Devera produces a cross, Nathan Byrne has an effort at goal from the edge of the box that misses to the right of the target.

64:08

The official flags Clayton Donaldson offside. Indirect free kick taken by Wes Foderingham.

63:22

The referee blows for offside against Gary Roberts. Simon Moore restarts play with the free kick.

62:29

The official flags Marcello Trotta offside. Free kick taken by Alan McCormack.

62:03

Gary Roberts sends in a cross.

56:40 Goal scored

Goal! - Joe Devera - Brentford 3 - 2 Swindon Joe Devera finds the back of the net with a goal from close in high into the middle of the goal. Brentford 3 (4)-(3) 2 Swindon.

56:11

Inswinging corner taken from the left by-line by Raffaele De Vita.

55:45

Corner taken by Gary Roberts.

55:07 Substitution

Substitution (Brentford) makes a substitution, with Jonathan Douglas coming on for Tom Adeyemi.

53:19

Free kick awarded for a foul by James Collins on Harlee Dean. Simon Moore restarts play with the free kick.

52:05

Free kick awarded for an unfair challenge on Toumani Diagouraga by James Collins. Free kick taken by Simon Moore.

50:03 Substitution

Substitution Andy Williams leaves the field to be replaced by James Collins.

50:03 Substitution

Substitution Raffaele De Vita comes on in place of Adam Rooney.

49:08

The ball is swung over by Harry Forrester, Nathan Byrne makes a clearance.

46:15 Goal scored

Goal! - Clayton Donaldson - Brentford 3 - 1 Swindon Clayton Donaldson scores a goal from deep inside the penalty area to the bottom left corner of the goal. Brentford 3 (4)-(2) 1 Swindon.

45:01

The referee gets the second half underway.

45:00 +4:00 Half time

Half Time The ref blows to signal half-time.

45:00 +3:03

Corner taken right-footed by Harry Forrester, clearance made by Nathan Byrne.

45:00 +2:05

Harry Forrester takes a shot. Save made by Wes Foderingham.

43:23

Simon Ferry provided the assist for the goal.

43:23 Goal scored

Goal! - Adam Rooney - Brentford 2 - 1 Swindon Adam Rooney fires in a goal from deep inside the penalty box low into the middle of the goal. Brentford 2 (3)-(2) 1 Swindon.

42:23

Harry Forrester takes a inswinging corner from the left by-line to the near post.

41:35

Jake Bidwell delivers the ball, Clayton Donaldson takes a shot. Wes Foderingham makes a save.

41:35 Booking

Booking Alan McCormack receives a yellow card for unsporting behaviour.

40:44

Free kick awarded for an unfair challenge on Tom Adeyemi by Alan McCormack.

39:20

Assist by Marcello Trotta.

39:20 Goal scored

Goal! - Clayton Donaldson - Brentford 2 - 0 Swindon Clayton Donaldson fires in a goal from the edge of the area to the bottom right corner of the goal. Brentford 2 (3)-(1) 0 Swindon.

38:33

Effort on goal by Andy Williams from inside the area goes harmlessly over the bar.

33:30

Free kick awarded for an unfair challenge on Gary Roberts by Toumani Diagouraga. The free kick is delivered right-footed by Gary Roberts from left channel, Marcello Trotta manages to make a clearance.

32:30

The ball is delivered by Clayton Donaldson, Aden Flint manages to make a clearance.

30:32

Marcello Trotta produces a left-footed shot from just inside the penalty area and hits the post.

29:04

Unfair challenge on Tom Adeyemi by Darren Ward results in a free kick. Free kick crossed by Harry Forrester, clearance made by Joe Devera.

28:16

The ball is delivered by Tom Adeyemi, Close range header by Harlee Dean goes over the crossbar.

27:52

Corner taken right-footed by Harry Forrester from the left by-line, Aden Flint makes a clearance.

27:35

Harry Forrester takes a shot. Save by Wes Foderingham.

26:29

Inswinging corner taken from the left by-line by Harry Forrester.

26:16

Marcello Trotta takes a shot. Blocked by Darren Ward.

25:20

Unfair challenge on Toumani Diagouraga by Gary Roberts results in a free kick. Direct free kick taken by Simon Moore.

23:25

The assist for the goal came from Toumani Diagouraga.

23:25 Goal scored

Goal! - Adam Rooney - Brentford 1 - 0 Swindon Own goal by Adam Rooney. Brentford 1 (2)-(1) 0 Swindon.

22:40

Harry Forrester takes a inswinging corner from the left by-line to the near post.

20:15

Unfair challenge on Shaleum Logan by Gary Roberts results in a free kick. Free kick taken by Simon Moore.

18:43

Clayton Donaldson has an effort at goal from the edge of the box that misses to the right of the target.

18:02

Corner taken by Adam Forshaw from the right by-line.

17:44

Harry Forrester takes a shot. Alan McCormack gets a block in.

13:59

Headed effort from deep inside the penalty area by Harry Forrester goes harmlessly over the crossbar.

11:17

Jake Bidwell crosses the ball from the free kick left-footed from right channel, save by Wes Foderingham.

11:17 Booking

Booking Booking for Nathan Byrne for unsporting behaviour.

10:54

Unfair challenge on Clayton Donaldson by Nathan Byrne results in a free kick.

9:25

Alan McCormack challenges Jake Bidwell unfairly and gives away a free kick. Simon Moore takes the direct free kick.

8:17

Corner taken by Adam Forshaw played to the near post, clearance by Alan McCormack.

8:05

The ball is swung over by Tom Adeyemi, blocked by Aden Flint.

6:13

Darren Ward gives away a free kick for an unfair challenge on Clayton Donaldson. The free kick is delivered left-footed by Jake Bidwell from right channel.

5:16

The assistant referee flags for offside against Harry Forrester. Wes Foderingham takes the indirect free kick.

1:25

Corner taken by Gary Roberts from the right by-line played to the near post.

0:37

Corner taken right-footed by Massimo Luongo from the left by-line, Aden Flint takes a shot. Simon Moore makes a save.

0:00

The game kicks-off.

Live data and text provided by our data suppliers