Paul Lambert's Villa had looked to be heading deeper into the relegation mire when Nathan Baker put an attempted clearance into his own net against Reading.
But Christian Benteke and Gabriel Agbonlahor hit back as Villa dominated the latter stages of the first half to go 2-1 up.
Noel Hunt thought he had equalised for the Royals after the break, but his effort was ruled out for offside as Villa climbed out of the bottom three.
Basement side QPR also came from behind to secure a 3-1 win over Sunderland. Steven Fletcher's tap-in had put the Black Cats a goal to the good at Loftus Road, but Loic Remy levelled with an excellent low finish before Andros Townsend and Jermaine Jenas sealed the win.
Norwich should also have picked up a valuable win, but Grant Holt's late penalty miss against Southampton meant the game finished goalless at Carrow Road.
In the day's other game West Brom climbed to seventh by beating Swansea 2-1 at The Hawthorns after a Romelu Lukaku strike and a Jonathan de Guzman own goal cancelled out Luke Moore's opener.




