Gylfi Sigurdsson's stunning free-kick gave Swansea a hard-fought 1-0 Barclays Premier League victory over Aston Villa at the Liberty Stadium.
Swansea looked as if they would be able to build on Sigurdsson's 13th-minute strike with Ecuador winger Jefferson Montero causing Villa problems whenever he had the ball.
But Montero's departure to a hamstring injury halfway through the first period tilted the balance of power and Villa will consider themselves hugely unlucky not to return home to the Midlands with at least a point.
Villa might well have had a 72nd-minute penalty when Gabriel Agbonlahor was shoved in the back by Ashley Williams, the striker getting his shot away but the intervention of the Swansea skipper clearly enough to hamper him.
And goalkeeper Lukasz Fabianski twice came to Swansea's rescue in stoppage time when he saved superbly from Christian Benteke and Agbonlahor.
Heavy morning rain had left surface water on the Liberty Stadium pitch but Swansea soon settled into their customary passing game to build early momentum.
Although he was conceding several inches to Alan Hutton, Montero climbed above the Villa defender at the far post to head Nathan Dyer's cross over and the lively Ecuadorian was the man Swansea looked to cause problems in the opening exchanges.
But Villa looked to spring quickly and Agbonlahor, cleared to play after the first red card of his career against Manchester United was rescinded by the Football Association on Tuesday, almost profited from a slick counter-attack.
Aly Cissokho's cross was aimed for the head of Benteke but Neil Taylor intervened and the ball fell enticingly for Agbonlahor, whose 25-yard effort fizzed wide of the post.
Villa were struggling to contain Montero and his mazy run saw him leave Hutton and Fabian Delph in his wake before he was upended on the edge of the area by Jores Okore.
Sigurdsson had scored a free-kick special to defeat Arsenal last month - his previous Premier League goal - and he repeated the feat with a sweet strike over the Villa wall and past Brad Guzan into the top corner of the net for his third league goal of the campaign.
But Swansea's momentum was slowed when Montero had to be helped from the pitch and the winger was seemingly in tears as he left the action.
Montero's exit gave the visitors belief they could back into the game and Jonjo Shelvey was booked for stopping Agbonlahor leading a Villa break-out before Tom Cleverly's cross caused anxiety in the Swansea defence.
Benteke looked favourite to reach the centre and when it cleared the Belgian's head Cissokho was unable to collect at the far post with the Swansea defence stretched.
Villa's best chance of an increasingly even first half arrived after 33 minutes when Benteke sent a 25-yard free-kick inches wide with Swansea goalkeeper Lukasz Fabianski rooted to the spot.
Benteke then headed Delph's free-kick wide close to half-time and Villa boss Paul Lambert changed formation at the break, with Andreas Weimann replacing Cissokho and playing four at the back.
Villa were getting men higher up the pitch into the box but the delivery was often below-par.
Swansea manager Garry Monk probably wanted some greater control and he responded to some pinball inside his side's penalty area by introducing Tom Carroll at the expense of Shelvey.
But Villa were growing in stature and Weimann wriggled through after a tidy passing movement, although his shot lacked power and Fabianski saved comfortably.
Weimann then surged past Williams and Federico Fernandez but his cut-back was poor and straight into the arms of Fabianski with eager Villa forwards waiting in the centre.
The home crowd were worried but Ki Sung-yueng was put clean through in the 66th minute after a one-two with Sigurdsson, but the South Korean wasted the opportunity badly.
Dyer could have put the issue beyond doubt in the final 10 minutes but Swansea were left to cling on and in the end thank their goalkeeper for victory.