Minnesota won for the eighth time in nine games and picked up a victory in Calgary for the first time in eight tries.
Niklas Backstrom, coming off his first shutout of the season, made 22 saves for the victory.
After two scoreless periods, Aaron Johnson produced his first goal of the season 5:10 into the third to put the Flames in front. He played for just the seventh time since being acquired in a trade with Chicago on Oct. 7.
James Sheppard tied it with 10:30 to go in regulation. Miikka Kiprusoff took the loss despite making 44 saves. Kiprusoff has allowed no more than two goals in any of his last 10 starts.
Minnesota improved to 3-1 on a five-game road trip that will conclude in Phoenix on Monday.