Gabby Agbonlahor's second goal of the season earned Villa a point as Paul Lambert's side ended their run of four consecutive defeats.
The club's leading Premier League scorer produced a superb low drive to raise hopes of maximum points, but Villa were ultimately happy with one after Roland Lamah headed the equaliser nine minutes before half-time.
By then, the Swans had already got well on top and they continued to dominate in the second half, without seriously threatening a winner.
Agbonlahor might have out his name on the score-sheet even before he opened the scoring.
In the fourth minute he was only inches away from making contact with Leandro Bacuna's cross from the right after Fabian Delph had started the move with a perfectly-weighted pass.
But after Swansea full-back Dwight Tiendalli had seen a shot deflected for a corner, Villa's acting captain gave his side an important early boost with a clinical finish.
Andi Weimann broke from the half-way line before slipping a neat pass between two defenders, and Agbonlahor strode into the penalty area before looking up briefly and firing a low right-foot shot past the advancing Gerhard Tremmel.
It wasn't long, though, before the visitors were producing their trademark attractive football.
Brad Guzan had to rush out and save at the feet of Jonathan De Guzman following a fine Wilfried Bony through ball and then the keeper held a skidding low drive from Pablo Hernandez at the second attempt.
Villa were also relieved to see Ben Davies head down into the ground when he was unmarked from a right-wing corner in the 20th minute, the ball sneaking just over the bar when it could easily have ended up in the net.
In Swansea's next attack, Nathan Baker bravely threw himself in the way of De Guzman's powerful drive from just outside the area as Villa came under increasing pressure.
The Swansea onslaught was relieved when Weimann made a strong run before unleashing a fierce drive which struck Chico Flores.
Swansea were soon back on the offensive, however, and after De Guzman had sent a low drive flashing narrowly wide, they were level in the in the 36th minute.
Jonjo Shelvey's pass enabled Hernandez to deliver a deep cross from the left, and Lamah climbed above Antonio Luna for a far post header that Guzan could only help over the line.
Swansea continued to enjoy greater possession at the start of the second half and in the 52nd minute Guzan had to tip over De Guzman's 25-yard free-kick just as it was dipping under the bar.
Villa's response was a speculative Weimann volley which was saved by Tremmel, although there were groans when the Austrian striker over-hit his cross after Ashley Westwood's sublime control and excellent pass had sent him clear down the right.
Shelvey then had an angled drive blocked before Villa sub Karim El Ahmadi won possession from Jose Canas and set up Agbonlahor for a shot which flew over from 30 yards.
In the last minute of normaltime, Delph's 25-yard drive was held by Tremmel.
Villa: Guzan; Lowton, Clark, Baker, Luna; Bacuna (El Ahmadi 69), Westwood, Delph, Tonev (Kozak 61);Agbonlahor, Weimann (Albrighton 79). Unused subs: Steer, El Ahmadi, Helenius, Albrighton, Sylla, Bowery.
Swansea: Tremmel; Tiendalli (Rangel 55), Flores, Williams, Davies; Hernandez, De Guzman, Shelvey, Canas, Lamah (Pozuelo 68); Bony (Vazquez 83). Unused subs: Zabret, Amat, Britton, Routledge.