The Flames PK - which had climbed to fourth (87.7%) in the NHL heading into the tilt - got the job done not long after when the Jets got their first man-up of the night.
But then Kyle Connor brought the visitors within one at 16:26, scoring his 13th - tops on Winnipeg.
Gaudreau was sent in alone on a breakaway but his backhand was stopped just as time expired in the period, however Brenden Dillon as called for hooking him giving the Flames a full two-minute powerplay to start the second but they couldn't capitilize.
Paul Stastny knotted the game up at 4:50 by cashing in a rebound after Markstrom stopped a point blast.
Milan Lucic was given a five-minute boarding major and game misconduct at 15:32 for a hit on Dylan DeMelo.
Early in the advantage, Markstrom stopped a tip from Connor before Trevor Lewis drew a penalty on a shorthanded rush shortly before the period ended when he was held by Neal Pionk, giving the teams 32 seconds of 4-on-4 and just under a minute of PP time early in the final stanza for Calgary.
The Flames got another powerplay near the midway point of the frame when a dancing and dangling Gaudreau was tripped by Dillon. Hellebuyck stopped a shot by Mangiapane and then held his ground on the ensuing goalmouth scramble, and after stoned Monahan to keep it locked at two.
Calgary kept pouring it on, buzzing in the Jets zone and controlling play with a pile of quality chances but couldn't find twine.
The Jets got the game-winning goal off a Connor one-timer at 15:09.
They added a late empty-netter.