Rotherham secured their return to the second tier by beating Leyton Orient 4-3 on penalties after an enthralling 2-2 draw in the League One play-off final.

Moses Odubajo gave Orient the lead with a brilliant 25-yard volley before his low cross set up Dean Cox to tap home.

Alex Revell stabbed home from close range to make it 2-1, before levelling with a stunning 30-yard strike.

Steve Evans's debut joy

The victory was Rotherham manager Steve Evans's first at Wembley, having never managed a club at the national stadium before.

The O's were 3-2 ahead in the shootout before Adam Collin saved penalties from Mathieu Baudry and Chris Dagnall.

Orient looked on their way to ending a 32-year absence from the second tier after Lee Frecklington had missed his spot-kick.

But, with James Tavernier and Richard Smallwood both finding the net with their attempts, keeper Collin's heroics sealed a dramatic victory and a second successive promotion for Steve Evans's side.

The dramatic shootout had followed an entertaining game, which saw both sides playing some decent attacking football.

Rotherham had the best chances early on, with Wes Thomas seeing a scuffed shot saved by Jamie Jones before failing to connect with a dangerous James Tavernier free-kick.

Alex Revell

Revell's double set up the shootout that sent Rotherham back into the Championship after nine years

Odubajo fired high and wide on the volley at the other end before showing a further glimpse of his potential by setting up a decent chance for David Mooney, who failed to connect with the winger's looping cross.

And, despite Tavernier firing a couple of attempts at Jones's goal, the young winger put Russell Slade's side ahead by chesting the ball down and unleashing a terrific 25-yard volley.

Odubajo then turned provider, collecting Tavernier's headed clearance before sending over a low cross for Cox to tap in.

Ben Pringle went close to reducing the deficit with a dipping 35-yard strike before Rotherham assistant manager Paul Raynor, a fixture on the touchline in his lucky gillet, was then sent to the stands at half-time.

The second half saw the Millers dominate with a succession of free-kicks and and it was from one of these they forced their way back into the game.

Tavernier's set-piece into the box caused havoc for the O's defence and allowed former Orient striker Revell to stab the ball in from close range.

Russell Slade's Wembley woe

Orient boss Russell Slade also lost the last time he managed at Wembley, when he was in charge of Yeovil for their League One play-off final in 2007.

Having conceded twice in five first-half minutes, Rotherham then completed the reverse as Revell controlled a high ball with his thigh before smashing a looping 30-yard half-volley over Jones, which prompted a mad dash down the touchline from ecstatic Millers boss Steve Evans, who has never managed in the second tier.

The equaliser seemed to swing the momentum back in Orient's favour with crosses from Odubajo and Lloyd James causing problems for the Millers defence.

Rotherham's danger was now more often coming from counter-attacks and Kieran Agard should have done better when he fired wide from the edge of the box.

Agard had an even better chance with just a minute of normal time remaining, heading Frecklington's cross wide when through on goal.

Dean Cox

Cox's tap-in put Orient 2-0 up but the east Londoners could not hold on to their lead at Wembley

Orient continued to press, but the Millers had the final chance of normal time when Pringle fired over from distance.

Rotherham went close to making it 3-2 when Jones prevented O's defender Scott Cuthbert from heading in an injury-time own goal by tipping the ball away.

Mooney then fired over at the other end before Clarke leapt above the Millers defence but headed well wide when the goal was in sight.

Rotherham then lost Revell to injury and despite the O's continuing to dominate possession, the game headed to its dramatic conclusion.

It looked as if Orient, who finished third in League One, would be heading to the second tier, after Frecklington, who had recovered from an injury, saw his low spot-kick tipped away by Jones.

But there was to be one final dramatic twist as Millers keeper Collin pushed away the final two Orient attempts to secure the Millers' return to the Championship for the first time in nine years.

Lineup, Bookings (7) & Substitutions (6)

Leyton Orient

  • 01 Jones
  • 05 Cuthbert Booked
  • 02 Omozusi
  • 08 James
  • 06 Baudry
  • 15 Clarke Booked
  • 11 Odubajo Booked
  • 04 Vincelot
  • 10 Mooney Booked (Lundstram - 105' )
  • 09 Lisbie (Dagnall - 76' )
  • 07 Cox (Batt - 74' )

Substitutes

  • 03 Sawyer
  • 12 Larkins
  • 14 Batt
  • 21 Bartley
  • 23 Dagnall
  • 24 Lundstram
  • 25 Simpson

Rotherham United

  • 21 Collin
  • 27 Tavernier Booked
  • 03 Skarz (Milsom - 77' )
  • 08 Frecklington
  • 20 Morgan Booked
  • 04 Arnason
  • 22 Agard
  • 36 Smallwood
  • 09 Revell (Vuckic - 105' )
  • 26 Thomas (Brindley - 54' )
  • 18 Pringle Booked

Substitutes

  • 01 Shearer
  • 02 Brindley
  • 05 Davis
  • 10 O'Connor
  • 15 Milsom
  • 28 Vuckic
  • 35 Hitchcock
Ref: David Coote
Att: 43,401

Match Stats

Shots

9 16

On target

2 7

Corners

6 4

Fouls

20 11

Live Text Commentary

Full time

Full Time Match ends, Leyton Orient 2(3), Rotherham United 2(4).

120:00 +5:35

Penalty Shootout ends, Leyton Orient 2(3), Rotherham United 2(4).

120:00 +5:32

Penalty saved! Chris Dagnall (Leyton Orient) fails to capitalise on this great opportunity, right footed shot saved in the centre of the goal.

120:00 +4:57 Goal scored

Goal! Goal! Leyton Orient 2(3), Rotherham United 2(4). Richard Smallwood (Rotherham United) converts the penalty with a right footed shot to the bottom left corner.

120:00 +4:20

Penalty saved! Mathieu Baudry (Leyton Orient) fails to capitalise on this great opportunity, right footed shot saved in the bottom right corner.

120:00 +3:42 Goal scored

Goal! Goal! Leyton Orient 2(3), Rotherham United 2(3). James Tavernier (Rotherham United) converts the penalty with a right footed shot to the top left corner.

120:00 +3:03 Goal scored

Goal! Goal! Leyton Orient 2(3), Rotherham United 2(2). Nathan Clarke (Leyton Orient) converts the penalty with a right footed shot to the bottom left corner.

120:00 +2:31 Goal scored

Goal! Goal! Leyton Orient 2(2), Rotherham United 2(2). Ben Pringle (Rotherham United) converts the penalty with a left footed shot to the centre of the goal.

120:00 +1:58 Goal scored

Goal! Goal! Leyton Orient 2(2), Rotherham United 2(1). John Lundstram (Leyton Orient) converts the penalty with a right footed shot to the high centre of the goal.

120:00 +1:20

Penalty saved! Lee Frecklington (Rotherham United) fails to capitalise on this great opportunity, right footed shot saved in the bottom left corner.

120:00 +0:47 Goal scored

Goal! Goal! Leyton Orient 2(1), Rotherham United 2(1). Lloyd James (Leyton Orient) converts the penalty with a right footed shot to the top right corner.

120:00 +0:21 Goal scored

Goal! Goal! Leyton Orient 2, Rotherham United 2(1). Kieran Agard (Rotherham United) converts the penalty with a right footed shot to the centre of the goal.

120:00 Penalty shootout

Penalty Shootout begins Leyton Orient 2, Rotherham United 2.

120:00 +0:02

Second Half Extra Time ends, Leyton Orient 2, Rotherham United 2.

118:43

Attempt blocked. Mathieu Baudry (Leyton Orient) right footed shot from outside the box is blocked. Assisted by Romain Vincelot with a headed pass.

116:49

Corner, Rotherham United. Conceded by Mathieu Baudry.

116:45

Attempt blocked. Haris Vuckic (Rotherham United) left footed shot from outside the box is blocked. Assisted by James Tavernier.

112:09

Attempt blocked. Lloyd James (Leyton Orient) right footed shot from the centre of the box is blocked.

105:24

Foul by Moses Odubajo (Leyton Orient).

105:24

James Tavernier (Rotherham United) wins a free kick in the attacking half.

105:00 Substitution

Substitution Substitution, Leyton Orient. John Lundstram replaces David Mooney.

105:00

Second Half Extra Time begins Leyton Orient 2, Rotherham United 2.

106:05

First Half Extra Time ends, Leyton Orient 2, Rotherham United 2.

104:48 Substitution

Substitution Substitution, Rotherham United. Haris Vuckic replaces Alex Revell.

103:37

Attempt missed. Nathan Clarke (Leyton Orient) header from the centre of the box misses to the left. Assisted by Lloyd James with a cross following a set piece situation.

103:02

Shaun Batt (Leyton Orient) wins a free kick on the right wing.

103:02

Foul by Ben Pringle (Rotherham United).

101:10

Offside, Leyton Orient. Chris Dagnall tries a through ball, but David Mooney is caught offside.

97:54

Offside, Leyton Orient. Mathieu Baudry tries a through ball, but Chris Dagnall is caught offside.

95:50

Attempt missed. David Mooney (Leyton Orient) right footed shot from outside the box is just a bit too high. Assisted by Romain Vincelot.

95:19

Corner, Rotherham United. Conceded by Scott Cuthbert.

94:50

Corner, Rotherham United. Conceded by Jamie Jones.

92:50 Booking

Booking David Mooney (Leyton Orient) is shown the yellow card for a bad foul.

92:47

Foul by David Mooney (Leyton Orient).

92:47

James Tavernier (Rotherham United) wins a free kick in the attacking half.

90:00

First Half Extra Time begins Leyton Orient 2, Rotherham United 2.

90:00 +5:05 Full time

Full Time Second Half ends, Leyton Orient 2, Rotherham United 2.

90:00 +5:00

Attempt missed. Ben Pringle (Rotherham United) left footed shot from outside the box is high and wide to the left. Assisted by Kieran Agard.

90:00 +3:16

Corner, Leyton Orient. Conceded by Kári Arnason.

90:00 +2:52

Corner, Leyton Orient. Conceded by Kári Arnason.

90:00 +2:01

Corner, Leyton Orient. Conceded by Robert Milsom.

90:00 +1:05

Attempt missed. James Tavernier (Rotherham United) header from the centre of the box misses to the left. Assisted by Robert Milsom with a cross.

89:17

Attempt missed. Kieran Agard (Rotherham United) header from the right side of the box is close, but misses the top right corner. Assisted by Lee Frecklington with a cross.

86:06 Booking

Booking Ben Pringle (Rotherham United) is shown the yellow card for a bad foul.

85:43

Shaun Batt (Leyton Orient) wins a free kick on the right wing.

85:43

Foul by Ben Pringle (Rotherham United).

84:13

Hand ball by Mathieu Baudry (Leyton Orient).

82:43

Attempt missed. Kieran Agard (Rotherham United) left footed shot from outside the box is high and wide to the left.

80:15

Offside, Leyton Orient. Lloyd James tries a through ball, but Chris Dagnall is caught offside.

77:59 Booking

Booking James Tavernier (Rotherham United) is shown the yellow card.

76:53 Substitution

Substitution Substitution, Rotherham United. Robert Milsom replaces Joe Skarz because of an injury.

76:08

Chris Dagnall (Leyton Orient) wins a free kick in the attacking half.

76:08

Foul by Richard Smallwood (Rotherham United).

76:03

Delay over. They are ready to continue.

75:46 Substitution

Substitution Substitution, Leyton Orient. Chris Dagnall replaces Kevin Lisbie because of an injury.

75:18

Delay in match Kevin Lisbie (Leyton Orient) because of an injury.

73:56 Substitution

Substitution Substitution, Leyton Orient. Shaun Batt replaces Dean Cox.

68:49

Foul by Kevin Lisbie (Leyton Orient).

68:49

Kári Arnason (Rotherham United) wins a free kick in the defensive half.

68:22

Offside, Rotherham United. Adam Collin tries a through ball, but Kieran Agard is caught offside.

67:49

Foul by Lloyd James (Leyton Orient).

67:49

James Tavernier (Rotherham United) wins a free kick in the defensive half.

67:12

Corner, Leyton Orient. Conceded by Kári Arnason.

63:29 Booking

Booking Nathan Clarke (Leyton Orient) is shown the yellow card for a bad foul.

63:19

Foul by Nathan Clarke (Leyton Orient).

63:19

James Tavernier (Rotherham United) wins a free kick on the right wing.

59:22 Goal scored

Goal! Goal! Leyton Orient 2, Rotherham United 2. Alex Revell (Rotherham United) right footed shot from outside the box to the bottom right corner.

57:38

Lee Frecklington (Rotherham United) wins a free kick on the left wing.

57:38

Foul by Moses Odubajo (Leyton Orient).

56:57

Corner, Leyton Orient. Conceded by Kári Arnason.

54:28 Goal scored

Goal! Goal! Leyton Orient 2, Rotherham United 1. Alex Revell (Rotherham United) right footed shot from the centre of the box to the centre of the goal following a set piece situation.

53:50

Alex Revell (Rotherham United) wins a free kick in the attacking half.

53:50

Foul by Nathan Clarke (Leyton Orient).

53:11 Substitution

Substitution Substitution, Rotherham United. Richard Brindley replaces Wes Thomas.

52:33

Attempt missed. Ben Pringle (Rotherham United) left footed shot from outside the box is just a bit too high from a direct free kick.

51:48

Lee Frecklington (Rotherham United) wins a free kick in the attacking half.

51:48

Foul by Lloyd James (Leyton Orient).

49:45

Attempt missed. James Tavernier (Rotherham United) right footed shot from outside the box is just a bit too high from a direct free kick.

48:51

Foul by Mathieu Baudry (Leyton Orient).

48:51

Alex Revell (Rotherham United) wins a free kick in the attacking half.

47:44

Hand ball by Lloyd James (Leyton Orient).

46:47

Offside, Rotherham United. Alex Revell tries a through ball, but Wes Thomas is caught offside.

45:00

Second Half begins Leyton Orient 2, Rotherham United 0.

45:00 +2:03 Half time

Half Time First Half ends, Leyton Orient 2, Rotherham United 0.

45:00 +0:50

Attempt missed. Ben Pringle (Rotherham United) left footed shot from outside the box is just a bit too high.

43:38

Offside, Rotherham United. Alex Revell tries a through ball, but Wes Thomas is caught offside.

40:38

Attempt missed. Mathieu Baudry (Leyton Orient) header from the centre of the box is too high. Assisted by Dean Cox with a cross following a corner.

40:06

Corner, Leyton Orient. Conceded by James Tavernier.

38:18 Goal scored

Goal! Goal! Leyton Orient 2, Rotherham United 0. Dean Cox (Leyton Orient) right footed shot from very close range to the centre of the goal. Assisted by Moses Odubajo with a cross.

37:54

Attempt saved. Wes Thomas (Rotherham United) header from the centre of the box is saved in the centre of the goal. Assisted by Craig Morgan with a cross.

37:25

Corner, Rotherham United. Conceded by Nathan Clarke.

36:51

Foul by David Mooney (Leyton Orient).

36:51

Richard Smallwood (Rotherham United) wins a free kick on the left wing.

36:05

Attempt saved. Lee Frecklington (Rotherham United) right footed shot from outside the box is saved in the top right corner. Assisted by Ben Pringle.

34:30 Booking

Booking Moses Odubajo (Leyton Orient) is shown the yellow card for excessive celebration.

33:58 Goal scored

Goal! Goal! Leyton Orient 1, Rotherham United 0. Moses Odubajo (Leyton Orient) left footed shot from outside the box to the high centre of the goal following a set piece situation.

33:28 Booking

Booking Craig Morgan (Rotherham United) is shown the yellow card for a bad foul.

33:22

Kevin Lisbie (Leyton Orient) wins a free kick on the left wing.

33:22

Foul by Craig Morgan (Rotherham United).

30:04 Booking

Booking Scott Cuthbert (Leyton Orient) is shown the yellow card for a bad foul.

29:57

Ben Pringle (Rotherham United) wins a free kick in the defensive half.

29:57

Foul by Scott Cuthbert (Leyton Orient).

28:18

Attempt missed. David Mooney (Leyton Orient) right footed shot from the left side of the box is close, but misses to the left. Assisted by Dean Cox following a set piece situation.

27:43

Foul by Alex Revell (Rotherham United).

27:43

Romain Vincelot (Leyton Orient) wins a free kick in the defensive half.

25:54

Foul by Kieran Agard (Rotherham United).

25:54

Moses Odubajo (Leyton Orient) wins a free kick in the defensive half.

23:46

Attempt missed. James Tavernier (Rotherham United) right footed shot from outside the box misses to the right.

23:09

Kieran Agard (Rotherham United) wins a free kick in the defensive half.

23:09

Dangerous play by Dean Cox (Leyton Orient).

22:07

Foul by Richard Smallwood (Rotherham United).

22:07

David Mooney (Leyton Orient) wins a free kick in the defensive half.

21:21

Attempt missed. Kevin Lisbie (Leyton Orient) header from the centre of the box misses to the right following a set piece situation.

20:44

Foul by Craig Morgan (Rotherham United).

20:44

Kevin Lisbie (Leyton Orient) wins a free kick on the left wing.

16:54

James Tavernier (Rotherham United) wins a free kick in the defensive half.

16:54

Foul by Dean Cox (Leyton Orient).

15:39

Attempt saved. James Tavernier (Rotherham United) right footed shot from outside the box is saved in the bottom right corner. Assisted by Lee Frecklington.

13:46

Kieran Agard (Rotherham United) wins a free kick in the defensive half.

13:46

Foul by Mathieu Baudry (Leyton Orient).

13:28

Foul by Joe Skarz (Rotherham United).

13:28

Moses Odubajo (Leyton Orient) wins a free kick on the right wing.

12:32

Foul by Lee Frecklington (Rotherham United).

12:32

Lloyd James (Leyton Orient) wins a free kick in the defensive half.

11:56

Craig Morgan (Rotherham United) wins a free kick on the right wing.

11:56

Dangerous play by David Mooney (Leyton Orient).

10:49

Attempt saved. Lee Frecklington (Rotherham United) right footed shot from outside the box is saved in the centre of the goal. Assisted by Alex Revell with a headed pass.

9:08

Kári Arnason (Rotherham United) wins a free kick in the defensive half.

9:08

Foul by David Mooney (Leyton Orient).

8:20

Foul by Wes Thomas (Rotherham United).

8:20

Jamie Jones (Leyton Orient) wins a free kick in the defensive half.

8:18

Attempt saved. Wes Thomas (Rotherham United) right footed shot from the right side of the six yard box is saved in the bottom right corner. Assisted by Craig Morgan with a headed pass.

7:36

Wes Thomas (Rotherham United) wins a free kick in the defensive half.

7:36

Foul by Mathieu Baudry (Leyton Orient).

1:48

Lee Frecklington (Rotherham United) wins a free kick in the attacking half.

1:48

Foul by Romain Vincelot (Leyton Orient).

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers