Justin Murisier finished 0.24 seconds behind in third for the Swiss skier’s first career podium result.
Marco Odermatt and Filip Zubcic were in the top three after the opening run but dropped to fourth and 10th, respectively.
McGrath, who had not finished in the top 10 in 13 previous starts, was born in Burlington, Vermont. He is the son of Felix McGrath, a World Cup skier for the US ski team in the 1980s and 90s.
When Atle Lie was two years old, the family moved to Norway, the home country of his mother, the former cross-country skier Selma Lie.
Wearing bib 29, the 20-year-old McGrath surprised by posting the fourth fastest time in the first run, and he managed to improve on that by taking the lead in the second.
Pinturault started his final run with a buffer of 0.46 seconds over the Norwegian, but lost time at nearly every check point before narrowly holding on to his lead.
“This was really unbelievable,” McGrath said. “My goal today was to have fun. My first time skiing the Gran Risa from the top, such a nice day, the slope was beautiful. I told myself to enjoy the moment and ski as well as I can. It is so fun when you do your best and you really succeed.”
His father’s career best on the World Cup was coming runner-up at a slalom in Are, Sweden in March 1988.