Three Southampton goals in the first 19 minutes denied Birmingham the chance to go top of the Championship.
Kenwyne Jones put the home side two up with an 18-yard strike and a header before Rudi Skacel drilled in a third.
Birmingham twice hit the post but a Cameron Jerome header and Nicolas Bendtner strike gave the visitors hope.
Bradley Wright-Phillips put Southampton 4-2 up but Radhi Jaidi's header set up a thrilling climax which saw Dudley Campbell hit the post for the visitors.
Southampton manager George Burley:
"Looking back over the 90 minutes of the game I felt we deserved to win it.
"In the first half I thought we were magnificent and we deserved our
three-goal lead.
"For the first 10 minutes of the game Birmingham were on top but I changed
our formation and it made a big difference," added Burley.
Birmingham boss Steve Bruce:
"I couldn't believe we were 3-0 down at half time. I thought we were the better side.
"Every time we got forward we were always looking as if we would score and I felt we had the better chances.
"We've got a few home games to come and we'll be looking to get back into the promotion picture."
Southampton: Davis, Ostlund, Baird, Lundekvam, Bale, Surman (Viafara 82), Wright, Pele, Skacel (Licka 89), Rasiak, Jones (Wright-Phillips 77).
Subs Not Used: Bialkowski, Makin.
Booked: Lundekvam, Skacel.
Goals: Jones 14, 17, Skacel 19, Wright-Phillips 78.
Birmingham: Maik Taylor, Kelly, Martin Taylor, Jaidi, Sadler, Danns (Jerome 52), Muamba (Nafti 59), Clemence, Larsson (Campbell 78), Bendtner, McSheffrey.
Subs Not Used: Doyle, Upson.
Booked: Jaidi, Muamba, Kelly, Jerome.
Goals: Jerome 68, Bendtner 72, Jaidi 90.
Att: 21,889
Ref: I Williamson (Berkshire).