Jonjo Shelvey's stunning 20-yard strike earned the Swans a first ever Barclays Premier League victory over Southampton.
The midfielder fired into the top corner with eight minutes to go as the Swans claimed their third away win of their league campaign.
Shelvey had earlier hit the post for the visitors, while Lukasz Fabianski had kept the Saints out in the first half to deny James Ward-Prowse and Ashley Williams twice denied sub Sadio Mane late on.
And, with minutes remaining, things got worse for Saints who ended the game with ten men after Ryan Bertrand was sent off for a lunge on substitute Modou Barrow.
This victory moves the Swans back up to ninth, with 33 points from 23 games.
The Swans made six changes to the starting line-up.
From the team that lost to Blackburn Rovers in the FA Cup, Garry Monk handed Kyle Naughton his Swans debut following his transfer from Tottenham Hotspur last week.
The rest of the defence also changed as Federico Fernandez, captain Ashley Williams and Neil Taylor returned to action, while Jay Fulton makes his first league start of the season in midfield.
In the final change, Marvin Emnes comes in onto the wing for his second league start this term.
The Swans, yet to beat Southampton in the Barclays Premier League, are without Leon Britton (ill), Wayne Routledge (calf), Jefferson Montero (hamstring) while Kyle Bartley and Gylfi Sigurdsson are suspended. Ki Sung-Yueng, who played in South Korea's Asian Cup final defeat to Australia on Saturday, remains unavailable.
New signing Jack Cork, who arrived from Southampton on Friday, won't feature as he didn't sign in time to play against his former club.
Fraser Forster, Nathaniel Clyne, Maya Yoshida, Jose Fonte (capt), Ryan Bertrand, Harrison Reed (Sadio Mane, 63), Steven Davis, James Ward-Prowse, Dusan Tadic, Eljero Elia (Ryan Seager, 90), Graziano Pelle.
Kelvin Davis, Florin Gardos, Matt Targett, Dominic Gape.
Lukasz Fabianski, Kyle Naughton (Angel Rangel, 82), Federico Fernandez, Ashley Williams (capt), Neil Taylor, Jay Fulton, Tom Carroll, Jonjo Shelvey, Nathan Dyer, Marvin Emnes (Modou Barrow, 15; (Jordi Amat, 90), Bafe Gomis.
Gerhard Tremmel, Dwight Tiendalli, Matt Grimes, Nelson Oliveira.
The first half failed to create much in terms of threats on goal.
Southampton were the first to probe as James Ward-Prowse directed Nathaniel Clyne's cross towards goal, but a superb reaction save from Lukasz Fabianski saw the keeper keep it out with his right foot.
Then it wast the Swans' turn, and Bafe Gomis went within inches of opening the scoring as he fired a thunderous shot just wide after being teed up by Jonjo Shelvey 20 yards out.
The Swans were forced into a change after 15 minutes as Modou Barrow replaced Marvin Emnes, who had picked up an injury moments earlier while blocking a cross.
At the other end, pressure from Neil Taylor was enough to put off Dusan Tadic, who had met Eljero Elia's cross into the box.
That was the end of the action of the first half, with the Swans happy with their effort so far.
HALF-TIME: Southampton 0 Swans 0
The second half proved a more open affair, but the chances were again limited.
The Swans were denied only by the woodwork on the hour as Jonjo Shelvey's surging run ended with his low shot beating Fraser Forster but not the far post.
Fabianski had to be alert soon after as he held onto a Ward-Prowse header before denying the same player seconds later.
Monk made his second change with eight minutes to go as Angel Rangel came on for debutant Kyle Naughton.
And, seconds later, the Swans stunned St Mary's into silence.
After Shelvey won himself some space, he fired a thunderous effort into the top corner with Forster only managing to get slight contact.
The hosts immediately went on the attack, and it took some heroic defending from captain Ashley Williams to save the Swans.
First he cleared within a yard of his line as sub Sadio Mane chipped over the onrushing Fabianski, and from the loose Mane's shot was cleared again by the skipper.
The hosts' hopes were then dealt a blow as Ryan Bertrand saw red for a challenge on Barrow, who was then replaced by Jordi Amat.
And the Swans held on through four minutes of added on time to register a big victory.