The Swans made four changes to the starting XI.
From the 1-0 win at Hull City before Christmas, Angel Rangel returned in at right-back while Gylfi Sigurdsson and Jefferson Montero overcame injures.
The final change saw top scorer Wilfried Bony included in the starting XI as Bafe Gomis was among the substitutes. Leon Britton, who missed the trip to Hull, again missed out with a knee injury.
Lukasz Fabianski, Angel Rangel, Federico Fernandez, Ashley Williams (capt), Neil Taylor, Ki Sung-Yueng, Jonjo Shelvey (Tom Carroll, 60), Gylfi Sigurdsson (Marvin Emnes, 78), Nathan Dyer, Jefferson Montero (Wayne Routledge, 22), Wilfried Bony.
Gerhard Tremmel, Jazz Richards, Kyle Bartley, Bafe Gomis.
Brad Guzan, Ron Vlaar (capt), Jores Okore, Ciaran Clark, Tom Cleverley (Jack Grealish, 76), Gabriel Agbonlahor, Fabian Delph, Christian Benteke, Alan Hutton, Aly Cissokho (Andreas Weimann, HT), Carlos Sanchez.
Shay Given, Leandro Bacuna, Chris Herd, Charles N'Zogbia, Matthew Lowton.
In wet and windy conditions at the Liberty Stadium, the Swans started the game on the front foot as Jefferson Montero went close to giving the home side the lead inside five minutes. The diminutive winger rose high in the box to head just over the bar from Nathan Dyer's pinpoint delivery.
But it didn't take long for Garry Monk's side to open the scoring as Gylfi Sigurdsson curled home his second goal of the season from a direct free-kick. After Montero was brought down by Jores Okore 20 yards from goal, the Icelandic international stepped up to whip a delightful strike into the top right-hand corner of Brad Guzan's goal.
In the 21st minute the Swans suffered a blow when the impressive Montero was forced off the field through injury. The Ecuador international was replaced by Wayne Routledge.
Shortly after the half-hour mark the visitors went close to levelling the scores when Christian Benteke guided a free-kick just wide of the target after he was fouled on the edge of the box by Swans skipper Ashley Williams.
The Wales international then went close to extending Swansea's advantage at the other end when he headed just wide from Sigurdsson's fizzing free-kick. But had Williams' effort been on target, the linesman's flag was up on the far side, and the goal would not have counted.
Entering added time in the first half, Benteke went close again to scoring an equaliser, only to see his header drift wide of the post.
HALF-TIME: Swans 1-0 Aston Villa
The visitors made one substitution at the interval as Andreas Weimann replaced Aly Cissokho. And the change in personnel seemed to have a positive impact on Paul Lambert's side.
After Benteke curled wide of goal just after the restart, Weimann worked himself into a great goalscoring opportunity. The Austrian attacker jinked his way into the box, only to scuff his strike straight into the arms of Lukasz Fabianski.
At the other end, a superb flick by Sigurdsson played in Ki Sung-Yueng, who fired over from 12-yards, before Wilfried Bony found the back of the net with a composed finish, only to see his effort ruled out for offside.
With just under 20 minutes left on the clock, Gabriel Agbonlahor raced through on goal but was unable to find the target when under pressure from Williams, before Nathan Dyer missed an opportunity to double Swansea's advantage after latching on to substitute Marvin Emnes' low ball across the box.
In the first minute of added time, Fabianski then produced two fantastic saves to deny Villa a late equaliser. The Polish stopper dived to his left to push clear Benteke's low header before preventing Agbonlahor from finding the net from point blank range.