Calgary halted a four-game losing streak and handed Ottawa its seventh setback in eight contests.
Moss broke up a scoreless tie with goals that came 2:23 apart in the second period. Ales Kotalik added a power-play tally with 17 seconds to play in the middle period and it appeared the Flames could coast to victory.
Nick Foligno ended the shutout bid of Henrik Karlsson 8:56 into the third and Milan Michalek scored with 58 seconds to go in regulation.
Karlsson, making the 10th appearance of his NHL career, held on to collect his third victory. He made 33 saves.
Brian Elliott stopped 23-of-26 shots in suffering the loss.