The convincing win boosted Ligety's Olympic hopes.
"It's nice to get in another good race and I hope I can carry that confidence over the next two weeks," Ligety said.
Hirscher jumped from third to second, while Alexis Pinturault of France fell from second to third after both heats to finish 1.69 seconds behind Ligety.
"The second run was definitely very good, but the first run, to be one and a half seconds behind, was nothing for me," Hirscher said.
As fog shrouded the middle section of the course, Ligety raced to his 21st career victory and his third in a giant slalom this season. He also has a victory in a super combined this year. Ligety won the first two giant slaloms of the season, with Hirscher getting the next two.
Felix Neureuther of Germany, winner of the previous giant slalom race, skipped the event to rest a painful back before the Olympics.
Hirscher still stayed atop the giant slalom standings and took the lead overall as Aksel Lund Svindal of Norway fell in the second heat. Hirscher is now 58 points ahead of Svindal.
The Austrian has a 95-point lead over Pinturault in giant slalom standings, while Ligety is five points behind the Frenchman.
"It was a very difficult slope but I am pleased because I stayed on the podium," Pinturault said.
Ligety explained his big margin of victory by taking a different line.
"When it's bumpy like this, I don't go so straight, I go a bit closer to the gates. A little mistake will cost you a lot on a course like this," Ligety said.
Bode Miller of the United States hit a rut and crashed out about halfway into the first run.
Miller won the giant slalom title at the 2003 World Championships, the last time men raced in St. Moritz.
The 36-year-old American said he was ready for his fifth Olympics, despite Sunday's mishap.
"My skiing is generally pretty solid now," Miller said. "There were already big holes in some places when I went down and you can't see where they are and the coaches can't tell you where they are. The guys making it down were skiing very conservatively, trying not to crash and not to make mistakes. Ted is the only one really who skied normally.
"I didn't want to be 2.5 seconds behind and so tried to ski normally. But I had big problems from the start," Miller said.
Fog forced the cancellation of Saturday's downhill and threatened the giant slalom as well. The start of the second run was delayed by half an hour and there was a long break before the last 11 racers.
Frida Hansdotter of Sweden won her first women's World Cup race in heavy snow in Kranjska Gora, Slovenia, after American teen Mikaela Shiffrin failed to hold on to her opening-run lead in the slalom.
Hansdotter, who trailed Shiffrin by 0.31 seconds going into the final run, finished in an overall time of 1 minute, 50.17 seconds. The Swede had been runner-up in eight slaloms before, including two this season.
Austrian sisters Marlies and Bernadette Schild were third and fourth, coming 0.05 and 0.15 behind respectively.
The last racer on the visibly deteriorating course, Shiffrin caught a hole in the snow early in her final run and was thrown forward. She recovered but, having lost her pace, ended up 0.72 behind Hansdotter in seventh.
It was the final women's World Cup race before the Sochi Olympics.
Women's ski jumping
Japanese ski jumper Sara Takanashi won her second World Cup event in two days on Sunday, cementing her status as favorite for Olympic gold in Sochi.
Takanashi had jumps of 88.5 and 92.5 meters to gain 245.2 total points for her 10th individual victory of the season.
In a repeat of Saturday's result, Daniela Iraschko-Stolz of Austria came second with 238.4 points. Julia Kykkanen of Finland was third with 234.8.
Takanashi extended her lead in the overall standings over Germany's Carina Vogt, who finished fifth, to 1,220 to 761 points. Iraschko-Stolz is third with 682.
Women's ski jumping makes its Olympic debut in Sochi with a competition on the normal hill on Feb. 11.
Men's ski jumping
In Willingen, Germany, world champion Kamil Stoch of Poland won the last ski jump World Cup event before the Sochi Olympics to reclaim his lead in the overall standings on Sunday.
Stoch soared 147 meters in his first jump and 145 in his second for a total of 271.4 points. It was his fourth victory of the season, and second of the weekend.
Local favorite Severin Freund was second again, with jumps of 141.5 and 134 meters for 257.9 points.
Peter Prevc of Slovenia was third after jumps of 145.5 and 132 earned him 247.3 points.
Noriaki Kasai of Japan missed the podium by only 0.9 points after jumping 141 and 135.5, his second near miss in as many days.
Stoch moved to 921 points in the standings, 13 ahead of Prevc.