Mario Licka's first Southampton goal proved enough to secure the victory.
Grzegorz Rasiak had chances in the first half, with Steve Simonsen saving the Saints striker's first two efforts, with the Pole then firing wide.
Stoke started the second half brightly and spurned a good opening when Vincent Pericard fired wide from close in.
And Licka made in-form Stoke pay for their profligacy as he collected the ball on the left and cut inside before smashing the ball low past Simonsen.
Southampton manager George Burley on matchwinner Mario Licka
"He is always a threat with his midfield runs and I asked him at half-time to get further forward.
"We got him in the summer and he got injured in our final pre-season match. He has been out for two months but he is fit now and ready to prove what a good player he is.
"He is a player with terrific potential and hopefully scoring a goal like that will give him the confidence to express it."
Stoke boss Tony Pulis:
"It was a good performance but I am disappointed with the result.
"We had enough chances to get on the scoresheet and we have to start being more clinical in the final third.
"We took the game to them and they took a wonder save from Davies to stop us from scoring."
Southampton: Davis, Wright, Baird, Lundekvam, Bale, Surman, Licka, Idiakez, Skacel (Dyer 83), Rasiak, Jones.
Subs Not Used: Miller, Pele, McGoldrick, Wright-Phillips.
Booked: Baird, Idiakez, Skacel.
Goals: Licka 54.
Stoke: Simonsen, Hoefkens, Higginbotham, Duberry, Griffin, Hill (Sweeney 70), Russell, Diao, Hendrie, Fuller, Pericard (Bangoura 77).
Subs Not Used: Pulis, Brammer, Paterson.
Booked: Hendrie, Griffin, Duberry, Diao, Higginbotham, Fuller.
Ref: L Probert (Gloucestershire).