After three successive defeats, the visitors seemed set for some rare Christmas joy as they hit back from conceding early on and Christian Benteke converted his spot-kick five minutes from the end to take the lead.
But in the closing stages of injury time, Michael Laudrup’s men were rewarded after a barrage of attacks as Graham powered in from six yards to stun Paul Lambert’s battlers.
Villa might be grateful for the point after enduring a torrid opening 20 minutes when they were blown away in every department, conceding early on and Michu twice hitting the post.
However, having climbed back off the canvas so impressively in the second half, this will feel like a loss as they remain perilously above the drop zone, two points above 18th-placed Southampton who have games in hand.
Few would have predicted the late drama though after a breath-taking and brutal start to this encounter as the hosts ripped through an edgy and limp Villa side.
Wayne Routledge had already wasted a golden opportunity, denied by the legs of keeper Brad Guzan when clean through, but the 27-year-old soon made amends on nine minutes with a cool finish.
Pablo Hernandez threaded the ball through from the halfway line and Routledge skipped around the keeper before tucking in the opener from a tight angle.
Arriving in Wales having conceded 15 times in three defeats over a miserable festive period, Villa’s team was the youngest ever starting eleven in the Premier League – an average of 23 years and 119 days – and the nerves were all too evident.
Defenders Ciaran Clark and Chris Herd were dragged all over the place and with panic setting in, the hosts almost doubled the lead straight from the kick-off as top scorer Michu blasted against the left post.
The sea of white continued to roll forward and again Michu was cursing the woodwork after being set up by a flowing move involving Ashley Williams and Routledge on the left.
Signs that Swansea were taking their feet off the gas were slowly appearing, exemplified by Routledge’s sloppy attempts at a double drag back inside his own box.
And after 43 minutes of being utterly outplayed and restricted to a pair of long-range efforts, the visitors secured a shock equaliser.
The damage was caused by Benteke as the industrious striker set up Andreas Weimann with a clever through-ball, leaving the lively Austrian winger to out-fox Williams and power the ball in under the arms of Michel Vorm.
Reinvigorated Villa continued their good work after the break with more verve and, more importantly, improved organisation at the back, while Benteke and Weimann proved a menace pushing forward.
It was enough for the increasingly concerned Laudrup to try to boost his spluttering midfield with the introduction of Nathan Dyer and Kemy Agustien, but his plan back-fired.
Dyer heroically headed Benteke’s header off the line, only to clumsily hack down Weimann and give away a penalty seconds later.
Benteke hammered in his spot-kick (85) and three crucial points appeared to be heading to the west Midlands.
Back came Swansea with a late surge and after a goal-mouth scramble, Graham slammed the ball in to leave the hosts’ bench jumping ecstatically, while Lambert watched on with his head in his hands.