Howard had missed two straight games with back spasms, but was almost flawless in the first road game for Detroit in more than two weeks.
Mark Giordano gave Calgary a 1-0 lead with 4:02 to go in the first period, but Howard held the Flames in check the rest of the way.
Mike Modano tied it 1:54 into the second with his second goal as a member of the Red Wings and Justin Abdelkader put Detroit in front with 7:55 to go in the period.
After putting together a 3-1 homestand, Detroit played the first of three in western Canada.
Calgary has lost three in a row. Miikka Kiprusoff stopped 25 shots in the loss.