By Rob Bishop at Villa Park
Christian Benteke netted his fifth Villa goal - and he may never score a more important one.
The Belgium international powerfully headed home an Ashley Westwood corner 10 minutes from the end to give Paul Lambert's men three invaluable points in their battle to climb away from the Barclays Premier League danger zone.
Villa's much-needed victory was richly deserved after they had been the better team for long periods against fellow strugglers Reading and had gone close on numerous occasions.
Although Villa opened brightly, with Brett Holman in forceful mood through the middle, the better early chances fell to the visitors.
There might have been a 10th minute goal, in fact, when Jobi McAnuff's cross from the right spun up off Brad Guzan's boot.
Adam Le Fondre attempted a close-range overhead kick as he fell but his effort lacked both pace and direction as it rolled wide.
Sean Morrison then headed wide at the far post, while another Reading attack ended with Enda Stevens needing treatment after he was injured making a challenge inside the six-yard box.
But Villa should really have been ahead when Holman's low cross from the right slipped past two defenders to leave Benteke with a clear shot at goal.
The striker quickly brought the ball under control but his low right-foot shot didn't carry enough power to unduly trouble Adam Federici, the keeper making a fairly comfortable save at the foot of the post.
In the 24th minute, Stevens was replaced by Eric Lichaj and four minutes later Villa created another good opening, Gabby Agbonlahor getting the ball wide to Benteke, who crossed invitingly from the left, only for Weimann to send his shot well over.
As the home side continued to press, Nathan Baker met Barry Bannan's right-wing corner with a downward header which bounced over, before Benteke swivelled on to Bannan's pass for a right-foot shot which deflected for a corner.
Bannan was again the provider in the 37th minute, this time delivering a cross from the right for Ciaran Clark to send a glancing header not far wide of the far post.
The home side were again on the offensive at the start of the second half, Ashley Westwood, Benteke and Holman combining well to set up Weimann for a shot which went for a corner.
Then Holman worked his way into a good position on the edge of the area before firing only inches wide.
At the other end, Baker flung himself in the path of a Jason Roberts piledriver to concede a corner which Le Fondre headed just over, although another glancing header from Clark almost brought Villa a reward on the hour.
The central defender was agonisingly close as he sent the ball fractionally beyond the far post from Bannan's right-wing corner.
Even so, the Royals looked dangerous on the break, and Guzan did well to save with his feet after Roberts had cut inside to hit a low, angled drive.
But after an Ireland header had been saved by Federici, the breakthrough finally arrived on 80 minutes.
Benteke got above his marker on the six-yard box to meet Westwood's corner from the left with a downward header which bounced over the keeper and a couple of defenders as they were distracted by the presence of sub Marc Albrighton.
Villa: Guzan; Lowton, Clark, Baker, Stevens (Lichaj, 24); Westwood; Bannan; Weimann (Albrighton 68), Holman (Ireland, 68), Agbonlahor; Benteke. Unused subs: Given, El Ahmadi, Delph, Bowery.
Reading: Federica; Cummings, Morrison, Harappa, Shore; Caniff; Leigertwood, Tabb, Robson-Kanu (McCleary, 83); Roberts (Hunt, 79), Le Fondre. Unused subs: Taylor, Pearce, Pogrebnyak, Harte, Gunnarsson.