The native of Fort St. John, B.C., finished with a time of one minute 8.91 seconds. American Shani Davis was second in 1:09.13 while Kjeld Nuis of the Netherlands took third in 109:25.
Morrison captured a silver medal in the Sochi men's 1,000-metre race — thanks to teammate Gilmore Junio giving him his spot in the event — but said the World Cup victory means a lot.
"Feels good to finally win," he said. "While World Cup medals may be less important than Olympic medals, there is a special feeling you get when you finally win and can declare that you were the best in the competition on that specific day.
"It's the struggles which make finally winning so fulfilling and make me so grateful for the people I have around me who are continually picking me back up and putting me back together. It's the finally winning which solidifies my belief in my team as much as in myself. This one goes out to all of them. They know who they are. They are like family to me."
Edmonton's Jamie Gregg finished 14th in 1:11.31.
Also, Ottawa's Ivanie Blondin won a bronze medal in the women's mass start, her third in a World Cup mass start event.
Italy's Francesa Lollobrigida won the race in 8:36.52 while Irene Scouten of the Netherlands was second in 8:37.45. Blondin finished in 8:37.97.