Darren Bent put the visitors ahead in the 36th minute with a close range finish for his first goal in eight appearances from Stephen Ireland's bouncing effort before the Saints kicked into gear in the second half with three goals in 14 minutes.
Captain Rickie Lambert levelled in the 58th minute when he found space on the edge of the area to fire home past Brad Guzan before Nathaniel Clyne scored his first top flight goal to allow the home side to go ahead when he got on the end of first-starter Gaston Ramirez's lovely through ball to slot home five minutes later.
Winger Jason Puncheon essentially wrapped up proceedings in the 72nd minute, receiving a pass from Lambert to see his angled effort take a deflection and in past a despairing Guzan.
The Saints were not done there though as Lambert made it 15 goals in his past 18 outings when he converted from the penalty spot after substitute Emmanuel Mayuka had been brought down in the area by Guzan.
The first lot of points for the campaign allowed Nigel Adkin's Southampton to move out of the drop zone up to 17th, ending a four-game losing run, as Paul Lambert's Villa outfit had their two-game unbeaten streak ended to drop to 14th.
St Mary's Stadium, Southampton - 30,713