Striker Long headed home with three minutes remaining as Derby were punished for some sloppy defending and wasteful finishing at Pride Park.
He had put the Royals in front from the penalty spot after Shaun Barker pulled him back just before half-time, but Kris Commons’ 12th goal of the season drew Derby level in the second half.
The Rams wasted a host of chances and struck the woodwork twice and they were made to pay when Long nodded home to give Reading their first victory since October 30.
Derby could count themselves unfortunate not to be in front after just three minutes, when Luke Moore fed Alberto Bueno and the on-loan Spaniard saw his right-foot strike come back off the post.
Derby came close once again after 23 minutes when the ball fell kindly for Stephen Pearson 12 yards from goal and the former Celtic midfielder was denied by a fine save by Adam Federici.
Federici then had to be alert to keep out a right-foot strike from on-loan Rams striker Moore from just outside the penalty area.
But it was the Royals who took the lead three minutes before half-time when Barker pulled back Long in the penalty area and the striker picked himself up to convert the resulting spot-kick.
Derby were once again denied by Federici just after half-time when the Australian keeper got across to tip Bueno’s pinpoint free-kick over the bar.
Stephen Bywater was then called into action at the other end, with the Rams keeper making a fine save to keep out Hunt’s shot from 12 yards out.
And Reading came even closer after 53 minutes when Ian Harte’s free-kick was headed against the bar by Hunt.
Derby finally found a way past Federici after 61 minutes when Paul Green’s inviting cross was headed home by the in-form Commons from six yards out.
Nigel Clough’s side could have taken the lead three minutes later when Moore headed wide from 12 yards out.
Substitute Simon Church had an excellent opportunity to restore Reading’s advantage, but the Wales striker’s tame shot was saved by Bywater.
And Moore had a golden opportunity to put Derby in front after 69 minutes when Commons set him up, but the striker was denied by Federici from close range when he really ought to have scored.
And Derby were caught napping three minutes from time when McAnuff crossed for Long, who headed home from six yards out.
Commons was unlucky not to earn Derby a point when his free-kick hit the bar and went behind for a goal-kick on another frustrating afternoon for Clough’s side.