Danny Graham struck in injury time to earn Swansea a point and provide more festive heartache for Aston Villa boss Paul Lambert at the Liberty Stadium.
- Related Content
The visitors had conceded 15 and scored none in their last three games and Wayne Routledge added to their woes as he fired the hosts ahead in the ninth minute.
But gritty Villa had looked set to take the points after Andreas Weimann levelled and Christian Benteke scored from the spot when Nathan Dyer conceded an 84th minute spot-kick for a foul on Weimann.
However, Graham volleyed home after Michu's effort had been blocked in a late goalmouth scramble, leaving Lambert with his head in his hands.
A point at least ends Villa's miserable run of defeats and, despite the crushing disappointment, Lambert can take great heart from a gutsy effort from a side with an average age of just 23.
But Swansea will wonder how they did not put this game to bed when they threatened to run away with it in the opening half hour.
Villa survived a major scare as early as the fourth minute.
Routledge embarrassed Matthew Lowton by flicking the ball over the full-back's head and racing clear, but Brad Guzan did brilliantly to deny the winger and smothered at Michu's feet as the Spaniard followed up.
Ciaran Clark then cut out Michu's pass to Graham when a goal looked certain, but Villa's luck ran out in the ninth minute.
The visitors were ripped asunder by a simple pass from Pablo Hernandez, and Routledge rounded Guzan to open the scoring.
Graham hit the post seconds later with Villa all at sea, the striker then also blazed wide with the goal at his mercy just eight yards out.
Benteke offered the visitors a brief respite when he got free of Chico Flores' attentions, but the Belgian forward's shot was easily held by Michel Vorm.
Guzan was soon busy again, denying Michu a wonderful goal after 26 minutes.
The Spaniard outfoxed Clark with a superb turn but the Villa keeper deflected his strike onto the post.
Such was the ease with which Swansea had dominated the opening half hour that they took their foot off the pedal and errors crept into their game, and they were punished just two minutes before the break.
Ashley Williams failed to cut out Benteke's flick and Weimann finished superbly with an angled shot across Vorm.
The goal gave Villa a huge boost in confidence as they headed down the tunnel, and they opened the second half in far more combative mood than the first.
They could have taken the lead had Benteke been able to stretch enough to get a toe on a lovely ball across the six-yard box from Lowton, although Swansea continued to look dangerous with Hernandez sliding wide when unmarked at the back post.
As Swansea looked to reassert their authority, Villa were given a let-off just before the hour.
Joe Bennett was penalised for handball on the left side of his own area as he blocked Angel Rangel, but Swansea were only awarded a free-kick on the edge of the box when the ball had appeared to strike Bennett just inside.
Swansea pressed and pressed in search of a winner but were met with stern resistance by the Villa rearguard.
And the visitors were carving out presentable opportunities of their own on the break, with Weimann going close to a second as he curled a shot just wide, before the Austrian failed to pick out Benteke with his strike partner set to race in on goal.
At the other end, Hernandez's trickery found space in the Villa box and forced a sharp stop from Guzan.
The visitors were furious when Michu escaped punishment for a challenge on behind that forced Ashley Westwood to leave the field.
But their anger turned to joy with just six minutes left as Benteke put them ahead.
The Belgian had just seen his header cleared off the line by Dyer, but the Swansea substitute blotted his copybook by bringing down Weimann to concede a penalty, which Benteke slotted with aplomb.
But Villa could not hold out for the win as Graham fired beyond Guzan's grasp in a frantic finish.