The Swans led at every change and held a 24-point advantage in the second term, but the Giants never stopped coming and finished full of running for their first victory against their great rival.
Lightning actually struck the ground late in the first quarter, leading officials to delay the second term by 25 minutes as the storm was assessed and debris was cleaned up.
The stunning weather managed to overshadow Lance Franklin's debut, with the former Hawk managing just 1.1 in GWS' 15.9 (99) to 9.13 (67) shock.
But the ultimate story was the improvement of the Giants, who demonstrated they are no longer the competition's easybeats, having earned just three victories in two previous seasons.
Adam Treloar, Callan Ward and Stephen Coniglio were magnificent for the home side, while former Swan Shane Mumford was immense in the ruck.
Jeremy Cameron was well held by Ted Richards for much of the first half, but still managed to finish with four goals, including the sealer with four minutes remaining.
The Giants have previously had a habit of falling away late in quarters and at the end of games, but they managed six unanswered goals in the final term to emphatically break their winless streak against the Swans.
"We spoke at three-quarter time about the fact it's our third pre-season, we think we've made some significant ground in playing four-quarter footy.
"We've got a fair way to go, but it was great our players found something in that fourth quarter."
Tom Mitchell led the way for the Swans, Luke Parker and Rhyce Shaw had their moments and Ben McGlynn kicked two goals, but it was the Giants belting out their theme song at the end of an extraordinary afternoon.
If there was any lingering doubt about the simmering tension between these two sides, which began boiling over once the Swans swooped for Franklin, it was dispelled in a feisty, fascinating day.
"It wasn't the opposition," he said. "We should've responded, particularly at the start of that last quarter.
"It wasn't that. The last quarter we had opportunities to move the ball forward and didn't surge or hit the bodies hard enough and weren’t clean enough and we missed tackles.
"It was all the things you can't afford to do, regardless of the opposition."
Tom Mitchell led the way for the Swans, Luke Parker and Rhyce Shaw had their moments and Ben McGlynn kicked two goals, but it was the Giants belting out their theme song at the end of an extraordinary afternoon.
If there was any lingering doubt about the simmering tension between these two sides, which began boiling over once the Swans swooped for Franklin, it was dispelled in a feisty, fascinating day.
There were dramas before the game even began, with Alex Johnson re-injuring his twice-repaired knee in his comeback match in the seconds, with the severity not yet known.
Co-captain Kieren Jack was then a late withdrawal, having woken up Saturday morning with a back problem, giving former club champion Ryan O'Keefe a reprieve as the Swans' substitute.
It was the first match Jack had missed since round 15, 2011, while Rhys Palmer then appeared to injure a hamstring in the first term and didn't return for GWS.
Franklin wasted little time getting involved, juggling a mark ahead of Phil Davis and wheeling around in trademark fashion to kick his first goal in Swans' colours in just the seventh minute.
The superstar didn't have everything his own way, however, giving the fans great delight whenever he made a mistake as they let their displeasure at his choice of club perfectly clear.
As has been the norm between the sides, the Swans began to pull away in the opening quarter and took a 13-point lead into the first break.
That's where the teams remained for an extended period while the storm passed and when they returned, it was GWS that began clawing its way into the contest.
The margin was seven points at the main break and just three at the final change as the Giants sensed a monumental upset.
Gary Rohan hit a post with a set shot and Tom Scully's rushed effort fell just the wrong side of the big sticks, but late goals to Coniglio, Adam Kennedy and Cameron sealed a incredible day in Sydney.
The determined Giants made sure Lance Franklin didn't enjoy his Sydney Swans debut. Image: AFL Media
GREATER WESTERN SYDNEY 4.1 7.1 9.5 15.9 (99)
SYDNEY SWANS 6.2 7.8 9.8 9.13 (67)
BEST
GWS: Treloar, Ward, Coniglio, Mumford, Greene, Whitfield, Shaw
Sydney Swans: Mitchell, Parker, Shaw, Kennedy, McGlynn
GOALS
Greater Western Sydney: Cameron 4, Patton 3, Smith, Greene, Scully, Ward, Coniglio, Frost, Kennedy, Whitfield
Sydney Swans: McGlynn 2, Reid, Franklin, Cunningham, Rohan, Bird, Jetta, Mitchell
INJURIES
Sydney Swans: K Jack (back) replaced in selected side by O'Keefe, Roberts-Thomson (groin)
GWS: Palmer (hamstring)
SUBSTITUTES
Sydney Swans: Ryan O'Keefe replaced Lewis Roberts-Thomson at three-quarter time
GWS: Dylan Shiel replaced Rhys Palmer in the first quarter
Reports: Nil
Umpires: Fleer, Schmitt, Pannell
Official crowd: 17,102 at Spotless Stadium