A last-gasp equaliser gave the Welsh side a deserved point at the Liberty Stadium as the youthful visitors continue a worrying run without a victory in the Premier League
Goals from Andreas Weimann and a late penalty from Christian Benteke appeared to have sealed a comeback victory for Villa, who had fallen behind to an early goal from Wayne Routledge.
But a last-gasp strike from Graham saved a deserved point for Swansea, who had dominated much of the match and missed a number of goalscoring opportunities.
With the busy festive schedule hitting both sides, managers Michael Laudrup and Paul Lambert both rung the changes.
Swansea made five alterations, with fit-again Michu among the players returning to their lineup while Villa made four, naming their youngest ever starting XI for a Premier League match.
It was almost 1-0 within three minutes when Routledge got the better of Chris Herd and was clean through on goal but he failed to beat Brad Guzan one-on-one, the keeper staying big to make the block.
Routledge made no mistake moments later though, when he rounded Guzan after receiving Pablo Hernandez’s pass and fired home from a tight angle.
Michu struck the inside of the post and Graham somehow failed to hit the target from eight yards with a presentable chance as the Swans absolutely dominated the early stages.
They should have scored on numerous occasions and Michu again hit the woodwork after a sharp turn and shot saw him find a post for the second time after good work from Routledge and Ashley Williams.
As the half progressed, Villa slowly gained a foothold in the game, but their equaliser on the stroke of half-time still came as a surprise.
A good ball from Benteke and Williams’ missed interception gave Weimann the chance to net and he took it brilliantly with a superb first-time strike to get the better of Michel Vorm.
After the break there were less clear-cut opportunities, although Guzan had to save strongly from a Michu header on the hour mark.
At the other end, an acrobatic attempt by Benteke deflected into the path of Weimann, who almost found the target to complete an unlikely turnaround in the match.
But they did get that breakthrough with just six minutes remaining. Benteke’s header was cleared off the line by Nathan Dyer but as the rebound reached Weimann, the Swansea man fouled him and conceded a penalty.
Benteke stepped up to send Vorm the wrong way from the spot and it looked like the visitors would hold on to secure a priceless three points.
However, in the fourth minute of stoppage-time Dyer crossed into a chaotic penalty box and Graham stayed calm to slot home a deserved equaliser.