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.
Commons saw a last-gasp free-kick strike the top of the bar on another frustration afternoon for the Rams, while Noel Hunt headed against the bar for the Royals.
Source: PA
Source: PA