The native of Fort St. John, B.C., finished in one minute 8.43 seconds, just four one-hundredths of a second behind winner Stefan Groothuis of the Netherlands.
Michel Mulder, also of the powerful Dutch team, finished third.
It's Canada's first long-track medal of the Games, and the first individual Olympic medal for Morrison.
Morrison wasn't even supposed to compete in the 1,000.
But teammate Gilmore Junio gave his spot to Morrison because he knew Morrison was the team's best skater.
Morrison has two fourth-place finishes in the 1,000 on the World Cup circuit this season. He was 13th at the 2010 Vancouver Games.
Also on HuffPost