Dubreuil, from Levis, Que., finished in 35.09 seconds. Artur Was of Poland won gold in 35.01 and Michel Mulder of the Netherlands took the bronze.
"It was a great race," said Dubreuil. "I had a so-so start, but it was the only part of the race that I'd like to do over. The rest was very good, which gave way to a very fast lap. I knew it was a going to be a special race even before I hit the finish line. When I saw my time of 35.09, I had a good idea it would be good enough for a podium."
Overall leader Pavel Kulizhnikov of Russia crashed. Gilmore Junio of Calgary was eighth.
Season leader Lee Sang-hwa of South Korea won gold in the women's 500-metre race.
Lee clocked 37.87 to beat Heather Richardson of the United States by 0.34 seconds. Lee has won four of five sprints this season. Margot Boer of the Netherlands was third.
Olympic champion Irene Wust of the Netherlands easily won her second 3,000-metre race of the season in four minutes 1.55 seconds, ahead of teammate Marije Joling and Martina Sablikova of the Czech Republic.
Ivanie Blondin of Ottawa was seventh.
With files from The Canadian Press.