Match ends, Swansea City 0, Southampton 1.
Southampton stretched their unbeaten run to six games as Shane Long's goal consigned Swansea to a first defeat under new manager Francesco Guidolin.
Saints' Graziano Pelle had a goal disallowed as Jose Fonte was deemed to have fouled Lukasz Fabianski.
The visitors struck as Long headed in despite a touch from Fabianski.
Swansea appealed for a 90th-minute penalty as Maya Yoshida challenged Alberto Paloschi, but referee Jon Moss dismissed their claim.
Southampton, who have not conceded in six games, climb up to sixth in the Premier League table.
For Swansea, a first loss in five matches keeps them in 16th place but reduces the gap between them and the relegation zone to three points.
Solid Saints impregnable at the back again
With four wins, a draw and no goals conceded in their previous five matches, Southampton started the match with a swagger as they controlled possession, albeit without creating genuine scoring opportunities.
The Saints' fluid 3-5-2 system left the Swans in the unfamiliar position of being denied the ball for long periods, much to the irritation of an animated Guidolin.
Southampton goalkeeper Fraser Forster had kept a clean sheet in each of his five games since returning from a serious knee injury.
And although the 27-year-old was barely troubled in the first half, his recent form would appear to make him a strong contender to be included in England's Euro 2016 squad.
Swansea's aerial frailty
Forster's opposite number, Fabianski, also had a quiet first half in the Swansea goal as his side looked to tighten up defensively in their battle for survival.
The Swans were unbeaten in their three matches under Guidolin, but the Italian had expressed his concern about conceding goals from set-pieces in all three of those games.
That vulnerability appeared to have cost the hosts once again as Pelle bundled the ball into the net from a corner - but his effort was ruled out as referee Moss penalised Fonte for his challenge on Fabianski.
The Long game
Although Swansea were given a reprieve from their latest lapse in concentration at set-pieces, they eventually succumbed to Southampton's aerial threat.
The impressive James Ward-Prowse found Long with a precise cross from the right wing, and the unmarked Republic of Ireland forward nodded in despite a sprawling attempted save from Fabianski.
It was Southampton's 11th headed goal of the season; a league-high.
Swansea rallied and hurled some hopeful long balls into the Southampton penalty area, but the visitors coped with some comfort.
Manager Ronald Koeman might have been more concerned when substitute Yoshida collided with Paloschi, but the Swans' penalty appeals were rejected by Moss.
Man of the match - James Ward-Prowse
Southampton boss Ronald Koeman: "For sure, we are totally confident in our defence and we know we have the players who can create chances. It was a fantastic performance.
"It was a well deserved three points. We have a great run at the moment. It's a pity we have a break. But it looks like a great season again for us."
Swansea coach Francesco Guidolin: "Southampton are a strong team in a good period. They played well, with enthusiasm and calm. It's difficult to score a goal against them at the moment. We had a few situations but we deserved only one point today."
Asked about Swansea's late penalty appeal for Yoshida's challenge on Paloschi, he said: "I don't like speaking about the referee because it's a difficult job."
What's coming next?
Swansea have a two-week break before facing Tottenham away on Sunday, 28 February (14:05 GMT), which is immediately followed by another trip to north London to take on Arsenal on 2 March. Southampton host Chelsea on Saturday, 27 February at 15:00 and then make the short journey to Bournemouth on 1 March.
The stats you need to know:
- Fraser Forster has a 100% saves-to-shots ratio, the highest of any goalkeeper to have faced 15 or more shots on target.
- Swansea have had just six different scorers in the Premier League this season, fewer than any other team.
- Southampton have gone nine hours and 14 minutes since they last conceded a Premier League goal.
- Swansea City have hit the woodwork more often than any other team in the league this season (15).
- 22RangelSubstituted forNaughtonat 67'minutes
- 7BrittonSubstituted forGomisat 73'minutes
- 10A Ayew
- 23G Sigurdsson
- 15RoutledgeSubstituted forBarrowat 61'minutes
- 4Ki Sung-yueng
- 17van Dijk
- 6José Fonte
- 16Ward-ProwseBooked at 90mins
- 4ClasieBooked at 64mins
- 14RomeuBooked at 32minsSubstituted forCédric Soaresat 63'minutes
- 33TargettSubstituted forYoshidaat 86'minutes
- 19PellèSubstituted forAustinat 74'minutes
- 2Cédric Soares
- Jonathan Moss
- Shots on Target
Second Half ends, Swansea City 0, Southampton 1.
Offside, Southampton. Jordy Clasie tries a through ball, but Shane Long is caught offside.
Corner, Southampton. Conceded by Neil Taylor.
James Ward-Prowse (Southampton) is shown the yellow card.
Corner, Southampton. Conceded by Lukasz Fabianski.
Attempt saved. Charlie Austin (Southampton) right footed shot from the right side of the box is saved in the top centre of the goal. Assisted by Steven Davis.
Attempt saved. André Ayew (Swansea City) header from the centre of the box is saved in the centre of the goal. Assisted by Jack Cork with a headed pass.
Corner, Swansea City. Conceded by Fraser Forster.
Kyle Naughton (Swansea City) wins a free kick on the right wing.
Foul by Steven Davis (Southampton).
Substitution, Southampton. Maya Yoshida replaces Matt Targett.
Attempt missed. Ashley Williams (Swansea City) header from the centre of the box misses to the right. Assisted by Gylfi Sigurdsson with a cross following a corner.
Corner, Swansea City. Conceded by Jordy Clasie.
Attempt blocked. Neil Taylor (Swansea City) left footed shot from outside the box is blocked.
Corner, Swansea City. Conceded by Steven Davis.
Attempt missed. Bafétimbi Gomis (Swansea City) header from the centre of the box misses to the left. Assisted by Neil Taylor with a cross.
Federico Fernández (Swansea City) wins a free kick in the defensive half.
Foul by Shane Long (Southampton).
Offside, Southampton. Shane Long tries a through ball, but Charlie Austin is caught offside.