Goals in either half from Adam Lallana and Jay Rodriguez sunk the Swans at St Mary's as Southampton returned to the top four.
Lallana thumped home to give Southampton the lead in the 19th minute, while former Saint Nathan Dyer struck the post and Michu saw his header kept out by a fine Artur Boruc save.
The Swans pushed for an equaliser in the second half, but they failed to trouble the Saints defence despite having the best of the territory and possession.
And substitute Rodriguez wrapped up the victory for Mauricio Pochettino's side as he nudged Chico Flores off the ball 18 yards out before his shot nestled into the bottom corner.
Michael Laudrup made five changes to his starting XI.
Michu was given the all clear to play with a skullcap after he needed seven stitches in his head following the win over St Gallen.
Laudrup also recalled keeper Michel Vorm and Angel Rangel returned to captain the side while Jose Canas, Jonjo Shelvey and former Saint Nathan Dyer were also included.
Ashley Williams, meanwhile, was included on the bench as he made his comeback from an ankle problem while Dutch international Jonathan de Guzman missed out with a groin injury.
SOUTHAMPTON: Artur Boruc, Nathaniel Clyne, Morgan Schneiderlin, Dejan Lovren, Jose Fonte, Rickie Lambert (Jay Rodriguez, 68), Steven Davis (Guly Do Prado, 89), Victor Wanyama, Danny Fox, Daniel Osvaldo (James Ward-Prowse, 58), Adam Lallana (capt).
SUBS: Kelvin Davis, Jack Cork, Calum Chambers, Jos Hooiveld.
SWANS: Michel Vorm, Angel Rangel (capt), Jordi Amat, Chico Flores, Ben Davies, Jose Canas, Jonjo Shelvey, Michu, Nathan Dyer, Wayne Routledge (Alejandro Pozuelo, 67), Wilfried Bony.
SUBS: Gerhard Tremmel, Dwight Tiendalli, Ashley Williams, Neil Taylor, Leon Britton, Alvaro Vazquez.
The game got off to a bright start, with Jonjo Shelvey firing straight at Artur Boruc while, at the other end, Daniel Osvaldo fired wide from an acute angle from ten yards out on the right.
But the Saints opened the scoring after 19 minutes, Adam Lallana firing past Michel Vorm after his cross was cleared only to Steven Davis, who found the onrushing Lallana with a neat pass inside the box.
The Swans immediately looked for an equaliser, and Michu saw his backpost header swatted away by Boruc before the keeper spilled a low Shelvey effort.
The visitors probed again with Nathan Dyer down the right flank, and his cross was cut out by Boruc as Wilfried Bony was lurking.
But the Saints went close themselves, Rickie Lambert's free-kick from 30 yards was palmed away by Vorm at full-stretch.
Back came the Swans, and former Saint Nathan Dyer was denied by the woodwork after he latched onto Bony's intelligent backheel and raced into the box before cutting inside onto his left foot, but his strike rattled off the post.
Laudrup's side continue to push for the equaliser, and Bony was next to test Boruc, as he rose to meet Dyer's pinpoint cross, but the Polish keeper leaped to his left to push it out for a corner.
And in the one minute of added on time, Dyer again broke down the right and found the onrushing Michu, but the Spaniard could only head straight at Boruc.
Half-time: Southampton 1 Swans 0
The Swans continued their quest to get back on level terms, and Dyer and then Bony went close in the opening exchanges.
Bony was then brought down just outside the box after Fonte's weak pass back, with the defender booked for his challenge.
But Shelvey couldn't capitalise, with his free-kick curling over the crossbar with Boruc untroubled.
While the Swans were enjoying the majority of possession and territory, they were having trouble finding the killer touch.
The Saints then had the ball in the net but, with Victor Wanyama busy celebrating, referee Mike Dean ruled out the effort for a foul.
But they did get a second goal with eight minutes to go, via sub Jay Rodriguez.
After Jordi Amat headed a long ball towards his own goal, Rodriguez got the better of Chico Flores just inside the box and the striker directed his shot into the bottom corner.
The victory meant the Swans were on seven points from as many games, with Southampton rising to fourth.