Watkins’ header in the 77th minute proved enough for the visitors to win 1-0 and move up to 11th in the Premier League, just one point behind Chelsea and Liverpool.
Ward-Prowse’s effort was slightly controversial, with a lengthy delay while a potential foul in the build-up was analysed by VAR before the final decision was made.
There was also a delay of several minutes just before half-time when all players were forced back to the dressing room for safety reasons due to a drone flying over the stadium.
The result brought an end to Southampton’s three-game winning run in all competitions and they remain at the bottom of the table.
The match started in cagey fashion, as both sides looked to test each other out in the middle of the field, without any chances at either end.
The first shot came in the 17th minute, after the ball came back out to Aston Villa’s Alex Moreno, but his strike from the edge of the box flew far wide of the target.
Southampton thought they had broken the deadlock in the 25th minute when Walker-Peters got the final touch on a ball headed towards goal by Che Adams, but it was flagged for offside.
That did invigorate the home support after a subdued opening, but just before the half-hour mark, Gavin Bazunu had to be alert at the other end to palm away a shot from Leon Bailey.
The second half followed the same pattern as the first with a lack of clear-cut chances, with both sides continuously jostling for possession in the middle of the pitch.
Saints boss Nathan Jones made three substitutes in the 62nd minute in an attempt to inject life into his side and they were almost instantly rewarded when Ward-Prowse thought he had broken the deadlock.
Villa were unable to clear the ball, which was eventually played out to Ward-Prowse who fired goalwards, and it went in over the keeper after a deflection off Douglas Luiz.
But again to the disappointment of the home support it was ruled out, this time for a foul by Mohamed Elyounoussi on Jacob Ramsey.
The winner then arrived with less than quarter of an hour left when Watkins headed the ball past Bazunu from a Luiz free-kick.
The striker was checked by VAR for potentially being in an offside position, but the goal was allowed to stand.