Jets winger Kyle Connor had a goal and two assists.
Mark Scheifele had a goal and an assist.
Mason Appleton also scored for the Jets, who won their third straight game.
Eric Comrie stopped 20 shots for Winnipeg, who moved to 34-14-3.
The win was his first since November 1st against Columbus.
MacKenzie Weegar and Nazem Kadri scored for the Flames.
Dan Vladar made 22 saves for Calgary (24-17-7), who saw their three-game winning streak snapped.
Kyle Connor opened the scoring 5:28 into the first period when he took a David Gustafsson pass in the neutral zone before splitting the Flames defenceman, moving in and parking a backhand shot just under the cross bar to make it 1-0 Jets.
The goal was his 27th of the season.
Calgary's offence was out of synch on the night as they didn't register their first shot on goal until just past the ten minute mark of the first period. Winnipeg's league leading power play struck twice, marking the 11th time this season the Jets had a pair of power play goals.
Mason Appleton gave Winnipeg a two-goal cushion just over the half way mark of the second period when he snagged Mikael Backland's weak backhand clearing attempt in front of the net and slid the disc past Vladar to make it 2-0 at 10:17.
The goal was his 7th of the season.
With Mason Appleton off for cross checking, MacKenzie Weegar got Calgary on the board with a power play marker at 15:08 when he snuck a slapshot through a screened Eric Comrie to make it 2-1.
Gabriel Vilardi restored Winnipeg's two-goal cushion at 19:09 of the second period when Mark Scheifele hit Dylan Samberg with a cross ice feed and the Jet defenceman adeptly dropped the disc for Vilardi, who was on the way to the net.
Vilardi picked the far corner, hitting the inside of the left post to make it 3-1 Jets.
With Calgary tagged with a too-many-men infraction the league leading Winnipeg power play went to work, converting at 3:07 of the third when Kyle Connor hit Vilardi with a short pass, close in to the net which he converted to score his 22nd goal of the season.
The Flames replied 1:20 later when Nazem Kadri converted a Jake Bean feed from beside the net before stuffing the disc past Comrie from the edge of the crease to make it 4-2 at 4:27.
Mark Scheifele converted a Gabriel Vilardi feed on the power play at 7:08 of the third period to make it 5-2 Jets.
The goal was his 28th of the season.
SHOTS-CALGARY 22 WINNIPEG 27