Danny Graham struck in injury time to earn Swansea a 2-2 draw and provide more festive heartache for Aston Villa boss Paul Lambert at the Liberty Stadium.
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's luck ran out in the ninth minute when a simple pass from Pablo Hernandez ripped them apart 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.
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.
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.