Reading finished fifth in the Championship after inflicting a fourth successive defeat upon Derby.

In his final appearance Robbie Savage lost possession which led to Simon Church being fouled and Ian Harte put the Royals ahead from the penalty spot.

Jamie Ward levelled with a 25-yard effort off the inside of a post.

A second Harte penalty came back off an upright in first-half stoppage time but Hal Robson-Kanu won it after the break with a close range finish.

There was a chance Reading could have claimed fourth spot had Swansea been beaten at home by relegated Sheffield United but the Welsh club's emphatic win means Brian McDermott's side will face Cardiff in the play-offs.

Savage had already been booked for pulling back Jay Tabb when he was dispossessed by Church, who was brought down by Michail Antonio in the area.

Harte converted for his 13th goal of the season, but though Derby offered little they were level after Ward collected the ball 25 yards out and sent a stunning swerving effort past Adam Federici into the bottom corner.

The Rams had the ball in the net again, only for Stephen Pearson to be flagged offside, while Reading spurned the chance to go into the interval in front as Harte thumped the base of the post with his second spot-kick after Michail Antonio had brought another foul from Ayala in the area.

However the home side warmed up for the play-offs by sealing a morale-boosting victory as Brynjar Gunnarsson won the ball which looped up for Church, and his header found its way to Robson-Kanu who squeezed the ball in via a deflection.

Lineup, Bookings (3) & Substitutions (6)

Reading

  • 01 Federici
  • 05 Mills
  • 23 Harte
  • 24 Cummings
  • 26 Pearce
  • 07 Tabb Booked
  • 08 Leigertwood (Gunnarsson - 71' )
  • 17 Antonio (Taylor - 58' )
  • 19 Robson-Kanu
  • 18 Church
  • 45 Manset (Hunt - 78' )

Substitutes

  • 41 McCarthy
  • 28 Morrison
  • 06 Gunnarsson
  • 20 Howard
  • 25 Taylor
  • 09 Long
  • 10 Hunt

Derby

  • 30 Atkins
  • 02 Brayford
  • 06 Leacock
  • 14 Anderson Booked
  • 21 Ayala
  • 08 Savage Booked
  • 11 Pearson (B Davies - 58' )
  • 16 Bailey (Doyle - 81' )
  • 27 Bueno (Hendrick - 81' )
  • 10 Ward
  • 26 Ball

Substitutes

  • 33 Jones
  • 20 Addison
  • 28 B Davies
  • 29 Hendrick
  • 07 S Davies
  • 12 Porter
  • 23 Doyle
Ref: Miller
Att: 21,902

Match Stats

Shots

9 6

On target

3 3

Corners

6 1

Fouls

8 9

Live Text Commentary

90:00 +4:23 Full time

Full Time The referee brings the game to a close.

89:34

Shot by Ben Davies from just outside the area goes over the net.

88:30

Jeff Hendrick takes a shot. Adam Federici makes a save.

87:15

The assistant referee signals for offside against Shaun Cummings. Free kick taken by Dean Leacock.

85:32

Simon Church takes a shot. Save made by Ross Atkins.

80:17 Substitution

Substitution Jeff Hendrick on for Alberto Bueno.

80:17 Substitution

Substitution Conor Doyle comes on in place of James Bailey.

79:42

Inswinging corner taken from the right by-line by Ian Harte.

77:13 Substitution

Substitution Noel Hunt on for Mathieu Manset.

74:52

Ben Davies challenges Shaun Cummings unfairly and gives away a free kick. Adam Federici takes the free kick.

74:38

The referee blows for offside against Simon Church. Indirect free kick taken by Russell Anderson.

73:14

Headed effort from inside the area by Simon Church misses to the left of the goal.

71:42 Goal scored

Goal! - Hal Robson-Kanu - Reading 2 - 1 Derby Hal Robson-Kanu fires in a goal from deep inside the penalty box to the bottom left corner of the goal. Reading 2-1 Derby.

70:20 Substitution

Substitution Brynjar Gunnarsson is brought on as a substitute for Mikele Leigertwood.

69:11

Ben Davies takes a shot. Comfortable save by Adam Federici.

67:38 Booking

Booking Jay Tabb booked.

67:32

Foul by Jay Tabb on John Brayford, free kick awarded. Free kick taken by Russell Anderson.

66:56

The offside flag is raised against Mathieu Manset. Dean Leacock takes the indirect free kick.

59:49

Direct free kick taken by Matt Mills.

59:49 Booking

Booking Russell Anderson receives a yellow card.

59:36

Russell Anderson gives away a free kick for an unfair challenge on Jake Taylor.

57:02 Substitution

Substitution (Reading) makes a substitution, with Jake Taylor coming on for Michail Antonio.

57:02 Substitution

Substitution Stephen Pearson leaves the field to be replaced by Ben Davies.

57:02

Alberto Bueno takes a shot from deep inside the box clearing the bar.

55:19

Corner taken by Ian Harte from the left by-line, clearance by Robbie Savage.

53:43

Matt Mills challenges Jamie Ward unfairly and gives away a free kick. Alberto Bueno restarts play with the free kick.

52:04

Foul by Alex Pearce on James Bailey, free kick awarded. Robbie Savage takes the indirect free kick.

49:58

Inswinging corner taken by Ian Harte, Russell Anderson manages to make a clearance.

45:01

The referee blows his whistle to start the second half.

45:00 +3:16 Half time

Half Time The half-time whistle blows.

45:00 +1:50 Penalty

Penalty missed right upright by Ian Harte.

45:00 +1:50

Michail Antonio fouled by Daniel Ayala, the ref awards a Penalty.

45:00 +0:56

The referee blows for offside. Indirect free kick taken by Adam Federici.

45:00 +0:09

The assistant referee signals for offside against Simon Church. Ross Atkins restarts play with the free kick.

42:57

Jay Tabb fouled by James Bailey, the ref awards a free kick. Jay Tabb restarts play with the free kick.

41:53

Inswinging corner taken left-footed by Ian Harte from the right by-line to the near post, save by Ross Atkins.

40:39

Free kick awarded for an unfair challenge on Robbie Savage by Michail Antonio. Indirect free kick taken by Robbie Savage.

37:00

Unfair challenge on Mathieu Manset by Robbie Savage results in a free kick. Free kick taken by Matt Mills.

36:23

Mathieu Manset takes a shot. Save made by Ross Atkins.

36:01

Jay Tabb is ruled offside. John Brayford takes the direct free kick.

32:57

James Bailey has an effort at goal from outside the penalty box which goes wide right of the target.

31:18 Goal scored

Goal! - Jamie Ward - Reading 1 - 1 Derby Jamie Ward finds the net with a goal from a long way out to the bottom right corner of the goal. Reading 1-1 Derby.

28:54

Inswinging corner taken by Ian Harte.

28:33

Foul by Stephen Pearson on Jay Tabb, free kick awarded. Direct free kick taken by Mikele Leigertwood.

28:03

Free kick awarded for an unfair challenge on John Brayford by Mathieu Manset. John Brayford restarts play with the free kick.

23:49 Goal scored

Goal! - Ian Harte - Reading 1 - 0 Derby Placed penalty scored by Ian Harte. Reading 1-0 Derby.

22:46

Simon Church fouled by Russell Anderson, the ref awards a Penalty.

20:21

The free kick is swung in right-footed by Hal Robson-Kanu, Dean Leacock makes a clearance.

20:21 Booking

Booking Robbie Savage goes into the book for unsporting behaviour.

19:57

Unfair challenge on Jay Tabb by Robbie Savage results in a free kick.

18:27

Simon Church takes a shot.

17:34

Headed effort from deep inside the area by Hal Robson-Kanu misses to the right of the target.

15:06

Mathieu Manset gives away a free kick for an unfair challenge on Dean Leacock. Ross Atkins takes the indirect free kick.

14:08

Outswinging corner taken left-footed by Hal Robson-Kanu, Stephen Pearson makes a clearance.

12:51

Corner taken by Alberto Bueno played to the near post, free kick awarded for an unfair challenge on Matt Mills by Daniel Ayala. Adam Federici restarts play with the free kick.

12:03

The official flags Jamie Ward offside. Adam Federici takes the indirect free kick.

10:55

The referee gives a free kick against Daniel Ayala for handball. Direct strike on goal from the free kick comes in from Ian Harte.

7:30

Unfair challenge on Jamie Ward by Mikele Leigertwood results in a free kick. Direct free kick taken by Alberto Bueno.

6:53

Effort on goal by Mathieu Manset from just inside the area clears the crossbar.

4:43

Mathieu Manset gives away a free kick for an unfair challenge on Robbie Savage. Robbie Savage takes the direct free kick.

2:35

Mathieu Manset has shot on goal from just outside the area which goes wide of the right-hand upright.

0:00

The referee gets the game started.

Live data and text provided by our data suppliers