Despite going a goal behind in the first-half courtesy of Darren Bent, Saints managed to record their first points of the season thanks to a stunning come-back after the break
Despite a good first 20 minutes from the home side, Paul Lambert's side capitalised on yet more poor defending by Saints to take the lead through Darren Bent in the first-half.
After nearly conceding again just after the break, the hosts pulled level through Rickie Lambert, before strikes from full-back Nathaniel Clyne, winger Jason Puncheon and a second from the spot for Lambert secured the three points.
Saints' keeper Kelvin Davis was dropped in favour of 20-year-old Paulo Gazzaniga, while Adkins handed other new signings Gaston Ramirez and Maya Yoshida their first starts.
The visitors made just one change from the side that beat Swansea 2-0 in their last match, with Christian Benteke, who came off the bench to score against the Welsh outfit, starting up front.
The hosts made the brighter start, with Lambert wasting a good opening after Adam Lallana played the striker in on the left-flank. Steven Davis and Ramirez also saw long-range efforts miss the target in the first 20 minutes, as Saints' front men continued to link-up dangerously.
The home side then took their foot off the gas somewhat as some sloppy passing allowed Villa to get into the match. Jose Fonte was called into action as he made a perfectly timed sliding tackle to deny Bent a clear chance on goal, before the centre-half again dived in to block Eric Lichaj's cross.
The visiting side went close minutes later as Barry Bannan flashed a first-timed volley just wide after Stephen Ireland's cross, another wake-up call for the south coast side who continued to give away the ball too easily.
With 35 minutes gone, Villa came forward again and this time took the lead. The hosts' defence twice failed to clear the danger, allowing Ireland to volley the ball back into the box and Bent to poke home Benteke's knock-down.
Saints failed to hit-back before the break, with the tide turning in Villa's favour, something which continued in the early stages of the second-half.
Gazzaniga was forced into a good save by Bent in the opening minutes, after Benteke threaded the striker through expertly. The new signing himself went close with a thundering header from the resulting corner.
But Adkins' men woke up just before the hour mark, when Lambert fired past Brad Guzan to equalise for the Saints. The big forward showed skill to bring down the cross before unleashing his strike into the bottom corner.
Lallana then went close to another Saints' goal moments later, but his superb half-volley didn't quite dip enough. However, the south coast side did manage to grab a quick-fire second through Clyne in the 64th minute.
The full-back started the move by giving the ball to Lambert, who then found Ramirez. The Uruguayan flicked the ball beyond the Villa defence with his first touch, leaving Clyne to pass the ball past the away keeper.
Puncheon was next to try and find the net for Saints, as they looked to secure their first points of the season, but flashed his shot wide. However, the winger did manage to net a third for Saints after he rifled a right-footed effort past the keeper, creating a yard for himself with a neat dummy-shot.
Both sides have a few half-chances as the game drew to a close, with the hosts having the better of them as Emmanuel Mayuka hit the post. Mayuka was then brought down by Guzan, who was booked, in the last minute, presenting Lambert with a chance to make it four from the penalty spot - which he took, giving Saints their first points of the season.