Jim O'Brien's fourth-minute goal gave the Reds a vital win and brought them to within two points of fourth-bottom Millwall.
Barnsley are still second bottom as the other sides in the relegation zone, Yeovil and Charlton, also got 1-0 wins but the likes of Doncaster and Millwall.
O'Brien got his third goal of the season when he brought down Martin Cranie's diagonal ball, rounded goalkeeper David Forde and put the ball through the legs of Scott Malone who was on the line.
Chris O'Grady fired over on ten minutes after a good run by Dale Jennings who then fired tamely at Forde when he could have played in O'Brien for an easy second.
Millwall gradually improve and Reds stopper Luke Steele did well to keep out a Steve Morison header and produced an exceptional one-handed stop to deny Scott McDonald.
In the second half, Steele tipped a Shaun Williams drive around the post then denied DJ Campbell from point blank range with another excellent save.