Match ends, Derby County 2, Reading 4.
Derby's eight-match unbeaten run was ended as Reading eased to their biggest win of the season at Pride Park.
Liam Moore headed in the opener at the back post from John Swift's free-kick, and Swift then teed up Sone Aluko to smash in a fine second.
Roy Beerens pounced on Curtis Davies' back pass to make it 3-0 before Johnny Russell capitalised on a loose ball to pull one back for the Rams.
Modou Barrow tapped in a fourth before Chris Martin slotted in a consolation.
An early injury to centre-half Richard Keogh had an instant impact on Derby, who conceded twice in the six minutes following the skipper's withdrawal as Reading bossed the early stages.
The hosts, who were looking to make it five straight wins, offered little in reply as Jaap Stam's side comfortably managed their lead to half-time, with Derby's first attempt on goal arriving deep into first-half stoppage-time.
County, who were looking to make it five straight wins, came out fired up after the break with Sam Winnall going close with a header and Russell also having a chance within two minutes of the restart.
But it proved a false dawn for the Rams in a limp performance as Reading punished their errors to secure back-to-back league wins for only the second time this season.
The Royals moved up to 18th and six points clear of the bottom three, while Derby missed the chance to keep pace with the top two and remain sixth.
Derby boss Gary Rowett:
"After 10 minutes, I was looking to see where the pumpkins were - I thought I had missed something and it was Halloween.
"It was a very poor start and you could see after a couple of minutes that we were really slow to react to things and very low in energy.
"We didn't get close enough all over the pitch and it almost took us to go 2-0 down to start to run around.
"We looked like there was no real spark. Ultimately we didn't turn up and perform early in the game and didn't defend well enough as a team."
Reading manager Jaap Stam told BBC Radio Berkshire:
"We prepared really well in how Derby have been playing in recent weeks as the form team in the division.
"But, we knew if we took our chances we could make it really difficult for them and that's what we did.
"We had a couple of very clear opportunities to score more than the four goals we did, but when we had to dig in deep and defend that's what the boys did very well.
"We got that win today by having faith in what we can do and sticking to it."
- 6KeoghSubstituted forPearceat 8'minutes
- 15JohnsonBooked at 81mins
- 28NugentBooked at 60mins
- 17WinnallBooked at 23minsSubstituted forMartinat 64'minutesBooked at 84mins
- 1MannoneBooked at 84mins
- 2GunterBooked at 32mins
- 50RichardsSubstituted forBlackettat 76'minutes
- 14AlukoSubstituted forKermorgantat 53'minutes
- 17BarrowBooked at 67minsSubstituted forClementat 90+4'minutes
- Keith Stroud
- Shots on Target
Second Half ends, Derby County 2, Reading 4.
Corner, Derby County. Conceded by Chris Gunter.
Attempt missed. David Nugent (Derby County) left footed shot from the centre of the box is high and wide to the right. Assisted by Chris Martin with a headed pass.
Substitution, Reading. Pelle Clement replaces Modou Barrow.
Foul by Roy Beerens (Reading).
Craig Forsyth (Derby County) wins a free kick in the defensive half.
Goal! Derby County 2, Reading 4. Chris Martin (Derby County) left footed shot from very close range to the bottom right corner. Assisted by Andre Wisdom with a cross.
Attempt blocked. Bradley Johnson (Derby County) left footed shot from the centre of the box is blocked. Assisted by Johnny Russell.
Vito Mannone (Reading) is shown the yellow card.
Chris Martin (Derby County) is shown the yellow card for a bad foul.
Vito Mannone (Reading) wins a free kick in the defensive half.
Foul by Chris Martin (Derby County).
Attempt saved. Tom Lawrence (Derby County) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by Chris Martin with a through ball.
Foul by David Edwards (Reading).
Bradley Johnson (Derby County) wins a free kick on the right wing.
Roy Beerens (Reading) wins a free kick on the right wing.
Foul by Johnny Russell (Derby County).
Bradley Johnson (Derby County) is shown the yellow card for a bad foul.
David Edwards (Reading) wins a free kick in the defensive half.