The Edmonton native won the 500-metre sprint at the World Cup finals after lying down in a field before the race.
"It was a nice sunny day in Berlin," he said. "I went out to a field before my race and laid down.
"That's what kind of helped me out — the sun in Berlin."
Gregg posted a time of 35.06 seconds to beat Pekka Koskela of Finland by 0.01 seconds. Mo Tae-bum of South Korea was third.
Gregg said he spent a few anxious moments after his run.
"I knew it was good race when I finished it," he said. "But I knew that Berlin usually has faster ice and so I didn't think that time would hold up to be the winner.
"I was hoping just to get a medal. Then I was just pretty happy when I saw it ended up being a gold medal."
American Tucker Fredricks finished 14th but still leads the World Cup standings by 26 points over Koskela before Sunday's final race.
Yu Jing of China won the women's sprint in 37.94 and jumped to the top of the standings with a 31-point lead over Jenny Wolf of Germany. Wolf was third, behind Olympic champion Lee Sang-hwa of South Korea.
Christine Nesbitt of London, Ont., was fourth in 38.39.
Havard Bokko of Norway won the 1,500 men's title by taking the last race of the season. Kjeld Nuis and Koen Verweij of the Netherlands finished second and third, respectively.
Olympic champion Martina Sablikova of the Czech Republic confirmed her 3,000 title by winning the sixth consecutive race of the season.
Stephanie Beckert beat Germany teammate Claudia Pechstein for second place.