Graham had gone six games without a goal since his ?3.5 million transfer from Watford in pre-season, but he ended that barren run with a cool finish in the closing stages at the Liberty Stadium.
That was enough to see off Stoke as Scott Sinclair had already opened the scoring for Swansea with a ninth minute penalty.
It was a frustrating day for Stoke, whose five bookings mean they are set for an FA fine. Andy Wilkinson was one of those to see yellow but was fortunate not to have been dismissed for a horrible waist-high tackle on Nathan Dyer.
Swansea got off to the ideal start when Ryan Shawcross fouled Wayne Routledge in the penalty area in the ninth minute and referee Mike Jones had no hesitation in pointing to the spot, with Sinclair slotting the spot-kick low to Asmir Begovic's left.
Michel Vorm had little to do in the early stages but the Swansea goalkeeper was alert when called upon as he made a stunning save to deny Jon Walters, tipping the striker's improvised volley onto the bar and over.
Angel Rangel headed over at the other end after meeting Mark Gower's corner before Wilkinson was guilty of an awful tackle on Dyer five minutes before the break.
The defender's challenge was waist high and left the winger on the floor in a heap, but referee Jones somehow deemed it only worthy of a yellow card.
Stoke boss Tony Pulis brought former Birmingham striker Cameron Jerome on for Rory Delap in the second half and the substitute ought to have done better than firing weakly wide after being found by a Walters header.
Glenn Whelan exchanged shoves with Ashley Williams and then hit the woodwork with a low free-kick.
But Swansea remained a threat on the break and it took an outstanding save from Begovic to deny Sinclair his second after he had cut in from the left and got away a curling effort.
And Graham sealed the hosts' second win of the season as the striker got a lucky ricochet off Jonathan Woodgate and shot past Begovic.
Source: AFP
Source: AFP