Stead struck after just six minutes to secure a rare win for the Robins, helping them to the dizzy heights of 17th in the table.
Cardiff City missed the chance to go ahead of Queens Park Rangers at the top of the table when they were held 1-1 at Reading.
They levelled in controversial circumstances when Jay Bothroyd's long-range shot was judged to have crossed the line, to the anger of the home side.
A stoppage-time penalty from Steve Howard saw Leicester City rescue a point in a 2-2 draw with Sheffield United at the Walkers Stadium.
The Foxes had taken an early lead through Paul Gallagher, but two goals from Mark Yeates looked to have the Blades on course for the win.
That was until Yeates was judged to have handled the ball in the area and Howard stepped up.