Match ends, Reading 3, Derby County 1.
Reading maintained their place in the Championship play-offs with victory over Derby County.
The Rams had three chances in quick succession to take the lead in the 20th minute, as Colin Kazim-Richards hit the post with a header before Rafael Cabral saved Tom Lawrence's follow-up effort and then tipped another shot from Kazim-Richards over the bar.
Michael Olise fired the Royals in front in first-half injury time with a rising shot into the top left corner from just inside the D.
George Puscas doubled the hosts' lead 12 minutes after the restart when he hooked in the rebound after David Marshall could only parry away a shot from Yakou Meite.
A sensational 30-yard strike by Lawrence gave Derby hopes of a comeback, but substitute Lucas Joao turned in with six minutes remaining to secure Reading's first win in five.
Having been the early pace-setters in the division, a run of three draws in four had seen Reading's position in the top six come under threat.
Veljko Paunovic's men dictated play in the early stages but could have found themselves behind as Kazim-Richards rattled the woodwork from Craig Forsyth's cross and Cabral made two fine saves.
Olise put the hosts ahead with their first effort of the game and, after Reading had claims for a penalty waved away early after the restart when Ovie Ejaria went down under the challenge of Andre Wisdom, Puscas pounced to make it 2-0.
Derby rallied as Jack Stretton was inches away from getting on the end of a cross from Kazim-Richards and Cabral tipped over a fierce Max Bird shot from 25 yards.
After Lawrence shot across goal to pick out the top right-hand corner, Joao converted Thomas Holmes' knock-down to keep Reading a point ahead of seventh-placed Bournemouth, who won 2-0 at Blackburn.
Wayne Rooney's Derby have now won just one of their past nine games and are yet to be assured of survival, with the Rams remaining eight points above the relegation zone in 19th.
Reading boss Veljko Paunovic told BBC Radio Berkshire:
"I'm very happy but it wasn't an easy game against a hard opponent.
"The application and maturity we played the game with were very promising for this team. With six games left, that is what you need to win.
"The execution was clinical and defensively we did a good job. The goal we conceded was almost unstoppable.
"Everyone understands the opportunity we have in front of us. I am doing my job the best I can and have talented players who are committed."
Derby boss Wayne Rooney told BBC Radio Derby:
"I thought it was a very good performance. We created chances and should have scored more goals.
"Their first was a great strike and the two in the second half are sloppy from our point of view.
We can't afford to give goals away that easily.
"Their keeper had a good game and made some great saves. We have to take the positives."
- 33Cabral Barbosa
- 6MooreBooked at 50mins
- 3RichardsSubstituted forGibsonat 67'minutes
- 28LaurentBooked at 83mins
- 11MeiteSubstituted forAlukoat 89'minutes
- 7OliseSubstituted forSemedoat 81'minutes
- 14EjariaSubstituted forPontes Estevesat 89'minutes
- 47PuscasSubstituted forLucas Joãoat 82'minutes
- 2Pontes Esteves
- 18Lucas João
- 12ByrneSubstituted forMacDonaldat 35'minutes
- 17SibleySubstituted forJozwiakat 62'minutes
- 38KnightSubstituted forStrettonat 62'minutesSubstituted forRobertsat 81'minutes
- Jonathan Moss
- Shots on Target
Second Half ends, Reading 3, Derby County 1.
Tomás Esteves (Reading) wins a free kick on the right wing.
Foul by Graeme Shinnie (Derby County).
Foul by Sone Aluko (Reading).
Andre Wisdom (Derby County) wins a free kick in the defensive half.
Substitution, Reading. Sone Aluko replaces Yakou Meite.
Substitution, Reading. Tomás Esteves replaces Ovie Ejaria.
Goal! Reading 3, Derby County 1. Lucas João (Reading) right footed shot from the centre of the box to the centre of the goal. Assisted by Thomas Holmes with a headed pass following a set piece situation.
Josh Laurent (Reading) is shown the yellow card.
Ovie Ejaria (Reading) wins a free kick on the left wing.
Foul by Kornell MacDonald (Derby County).
Substitution, Reading. Alfa Semedo replaces Michael Olise.
Substitution, Reading. Lucas João replaces George Puscas.
Substitution, Derby County. Patrick Roberts replaces Jack Stretton because of an injury.
Goal! Reading 2, Derby County 1. Tom Lawrence (Derby County) right footed shot from outside the box to the top right corner.
Attempt saved. Yakou Meite (Reading) right footed shot from the centre of the box is saved in the bottom left corner. Assisted by Michael Olise with a through ball.
Lewis Gibson (Reading) wins a free kick in the defensive half.
Foul by Kamil Jozwiak (Derby County).
Attempt missed. Tom Lawrence (Derby County) right footed shot from outside the box misses to the left. Assisted by Graeme Shinnie.