The Royals took the lead at the Madejski Stadium but could not hold on as the visitors came from behind to secure a vital win in the battle to stay in the Premier League
The hosts started well and took the lead through an own goal, however it did not last long with Christian Benteke levelling the scores a minute later. And things went from bad to worse for the Royals just before the break, with Gabriel Agbonlahor securing the points for Villa.
Stuart Taylor played against his former club, with Reading keeper Adam Federici injured, while Pavel Pogrebnyak's suspension meant Adam Le Fondre started up front. Villans midfielder Fabian Delph also missed out through suspension, with Darren Bent injured, however captain Ron Vlaar returned.
The hosts were quickest out of the blocks and almost took the lead with almost a minute played, however Brad Guzan made a superb acrobatic save to tip Le Fondre's header wide of the post.
Villa responded well, though, as they managed to slow the Royals' play down before their own striker forced the opposition keeper into an equally good save, Taylor palming Benteke's headed effort onto the bar at full stretch.
Back came the Royals, with Hal Robson-Kanu sending a low effort just wide of the post, but it was Paul Lambert's men who should have taken the lead when Andreas Weimann dragged a shot wide.
With around 10 minutes to go until half-time Reading managed to find a breakthrough, albeit with some fortune. Jobi McAnuff crossed low from the left, with Hope Akpan flicking the ball on neatly before Nathan Baker sliced the ball into his own net.
A minute later, however, and again with an element of luck, Villa were level. Weimann broke free on the right before pulling the ball back for Benteke, whose shot deflected past Taylor off Stephen Kelly.
And it was the visiting side that then took the initiative and went in front right before half time. Weimann was involved again on the right before his cross was thrice unsuccessfully dealt with by the Royals defence, leaving Gabriel Agbonlahor to slam the ball home.
The action continued after the break with Baker, Sylla and Benteke all going close for Villa, before Reading forward Noel Hunt had the ball in the net after McAnuff's low-driven cross, however it was controversially ruled out for offside.
The hosts should have been level soon after, however, with substitute Nick Blackman's fine chest control giving him a fantastic chance just yards out, however he shot wide with just the keeper to beat.
Robson-Kanu, who was the Royals brightest spark by a long way, nearly grabbed a late equaliser with a fine curling effort, however it was the Villans who held on for what could be their biggest win of the season.