The Flames won their fourth in a row and got a victory for Miikka Kiprusoff, who appeared in the 500th game of his NHL career.
Both of the goals by Moss came on the power play, one of them in the first period and the other coming 1:29 into the second.
Adam Pardy gave Calgary a 3-0 lead with 1:22 left in the second. It was his first goal of the season and just the fourth in his 143-game career.
The lone St. Louis goal was the first in the NHL for Philip McRae. He was playing in just his seventh game. Jarome Iginla scored into an empty net for Calgary with 44 seconds to play.
Kiprusoff made 28 saves and won for the 259th time in his 10 year career, the last seven seasons spent with the Flames.
Ty Conklin stopped 16 of 19 shots for the Blues.
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend
'Happy' fan videos make Pharrell cry [VIDEO]