Winnipeg clinched a playoff spot with the win (28-21-3).
Jets captain Blake Wheeler also scored twice in the contest.
Andrew Copp had a pair of assists for the Jets.
Connor Hellebuyck stopped all 32 shots he faced to earn his third shutout of the season.
Jakob Markstrom made 15 saves for the Flames, who dropped to 22-26-3.
Adam Lowry opened the scoring just over a minute into the game when he skated down the wing and beat Calgary goaltender Jakob Markstrom short side with a wrister.
Lowry scored his 2nd goal of the night 5:33 into the second, a shorthanded tally off of a Dylan DeMelo setup to give the Jets a 2-0 lead.
The goal was his 10th of the season.
Blake Wheeler scored late in the second to post Winnipeg's third goal on a breakaway, lifting a backhand shot past Markstrom to make it 3-0.
Wheeler scored his 2nd of the night 4:02 into the third, converting a Mark Scheifele feed to make it 4-0.
It was a milestone goal for Wheeler, who earned his 800th career point on the goal, Scheifele his 500th.
The goal was his 13th of the season.
Andrew Copp was awarded a penalty shot in the third period but failed to score.
Winnipeg returns home to host Ottawa on Saturday while Calgary hosts Ottawa Sunday.
SHOTS-WINNIPEG 19 CALGARY 32.