Thomas Harley and Matt Duchene also scored for Dallas.
Scott Wedgewood turned aside 31 shots for the Stars, who moved to 9-3-1.
Cole Perfetti and Brendan Dillon scored for the Jets who saw their modest three-game winning streak snapped.
Connor Hellebuyck made 27 saves for Winnipeg, who dropped to 7-5-2.
There was no scoring in the first period.
Thomas Harley scored for Dallas 2:13 into the second period when Winnipeg failed to clear their zone.
Ryan Suter found him with a cross ice pass and Harley blasted a slapshot past Hellebuyck, beating him high glove side to give the Stars a 1-0 lead.
The goal was his third of the season.
Wyatt Johnston made it 2-0 with a shorthanded goal at 5:20 when he scooped up a puck just inside the Winnipeg blue line out of Cole Perfetti's skates before breaking in and firing a low shot, short side on Hellebuyck from the left face off dot.
The goal was his fifth of the season.
Cole Perfetti got Winnipeg on the board 8:28 when he snapped a rebound off a Nikolaj Ehlers shot into a wide open net as he streaked in to the net.
The goal was his fourth of the season.
Matt Duchene restored the Stars two-goal lead at 11:58 when he converted a Wyatt Johnston feed from the side of the net to make it 3-1.
Brendan Dillon scored at 10:05 of the third to pull the Jets to within a goal when he sailed a wrister through traffic from the blue line to beat Wedgewood.
The goal was his fourth of the season.
Winnipeg nearly tied it with 8:38 remaining in regulation when Morgan Barron and Vladislav Namestnikov broke in on a 2-on-1 but Wedgewood kicked Namestnikov's redirection away.
Winnipeg hosts New Jersey Tuesday while Dallas returns home to face Arizona.
SHOTS-DALLAS 30 WINNIPEG 33
ATTENDANCE-12,420