Stastny made it 3-1 at 14:54 when he one-timed a pass from Wheeler on a 5-on-3 power play. After Lucic received minor penalties for roughing Neal Pionk and boarding Mason Appleton at 12:07, Markstrom was called for delay of game for playing the puck over the glass at 14:37.
"We saw what the other (power-play) unit is doing," Stastny said. "They kind of play downhill, they're aggressive, they're always shooting, and that's when you create a lot of chances. We tried not being so stagnant today. It was a couple big goals there, and that was the difference in the game."
Tkachuk scored at 18:01 with Markstrom on the bench for the extra attacker to make it 3-2.
"The urgency is there when we're down a goal, but you have to have the strength and the mental toughness to always play through that," Flames coach Darryl Sutter said.
The Jets killed a tripping penalty against Stastny with 1:53 remaining.
"It's never ideal to go down 6-on-4, but the four guys on the ice did an outstanding job," Wheeler said. "Clearly, we have a ton of confidence in our goalie too. It's not an ideal situation, but it's one of those things where it may happen again at a crucial moment, so it was nice to get the job done tonight."
NOTES: It was Winnipeg's first win in Calgary since a 2-1 shootout victory Jan. 20, 2018, and first in regulation since a 5-3 win April 11, 2014. ... Hellebuyck leads the NHL with 27 starts and 770 saves. ... The Jets are 12-1-2 when leading entering the third period; the Flames are 1-14-1 when trailing entering the third.