Paul Lambert’s Villa had looked to be heading for the drop when Nathan Baker put an attempted clearance into his own net against Reading.
But Christian Benteke and Gabriel Agbonlahor hit back as the visitors 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.
That is two successive wins for Harry Redknapp’s side, who are now four points from safety due to Villa’s win, and sets up a massive six pointer between the two clubs at Villa Park next weekend.
Norwich City should also have picked up a valuable win, but Grant Holt’s failure to score late on from the penalty spot gainst Southampton meant it finished goalless at Carrow Road.
In the day’s other game West Bromwich Albion moved up to seventh in the table by beating Swansea City 2-1 at The Hawthorns. Luke Moore had put the Swans ahead against his former club, but Romelu Lukaku and a Jonathan de Guzman own goal gave the Baggies the three points.