Paul Lambert's Villa side were on the back foot for most of the game, but showed great character after being pegged back twice to edge a five-goal thriller at St Mary's Stadium.
Gabriel Agbonlahor's first of the season set Villa on their way before Jay Rodriguez hit back just after half-time with a superb header.
|VIEW FROM ST MARY'S
|By Tom Sweetman
This was supposed to be the game in which this season’s surprise packages got their campaign back on track. After two straight losses, albeit to Arsenal and Chelsea, Southampton surely could not lose again? Especially seeing as Mauricio Pochettino had not lost three in a row since arriving on the south coast in January.
Straight from kick-off, it looked as if things were going to plan as the Saints dominated possession and created chance after chance. Yet a counterattack and some poor defending later, Aston Villa were one up, and that set the tone for the evening. Villa had three shots on target and still managed to leave with three goals and all three points.
The win puts Paul Lambert’s men up to 10th, while the supposed European hopefuls have dropped to eighth. After conceding five goals in just 11 games, the Saints have now leaked eight in three. Crisis?
Victory means Villa stretch their unbeaten run to five, while Southampton have now lost three successive games for the first time under Pochettino.
The Saints boss made four changes from the weekend defeat at Chelsea, two of which were enforced. Injuries to Artur Boruc and Morgan Schneiderlin meant Steven Davis and 21-year-old Paulo Gazzaniga were both recalled.
Christian Benteke, Villa's top scorer last season, dropped to the bench.
The early signs were good for Southampton as captain Adam Lallana produced a fabulous piece of skill before being thwarted by Ron Vlaar and then saw his cross deflected onto the woodwork.
Villa's goal was leading a charmed life as Rodriguez stung the palms of Brad Guzan after 13 minutes.
But Lambert's men then hit Southampton with the ultimate sucker punch a minute later. Lallana was robbed on the edge of the Villa area and Agbonlahor was released on the halfway line. He burst into the area and easily evaded Dejan Lovren before finishing with aplomb.
Nathan Baker headed well wide as the hosts went in search of a second, but Southampton remained a threat and Rodriguez was denied an equaliser through a towering back-post header by a fantastic save by Guzan, who managed to claw the ball out after 26 minutes.
Southampton, however, did get the equaliser their first-half performance deserved after 47 minutes when Nathaniel Clyne's cross was glanced into the far corner by Rodriguez.
All the pressure was from the home side and substitute Osvaldo's audacious backheel volley forced Guzan into a diving save.
Villa, though, edged ahead again after 64 minutes. Agbonlahor dispossessed Jack Cork and crossed for Kozak, whose header was too hot for Gazzaniga to handle. It was the Czech's final act before being substituted.
The lead lasted less than five minutes. A deep cross was headed across goal by Rickie Lambert into the path of Osvaldo and he nodded in from close range.
But Villa had the last laugh with 10 minutes remaining - and what a strike it was. Delph surged forward and unleashed an unstoppable strike that arrowed into the top corner.