Connor Hellebuyck made 32 saves on his 28th birthday and Logan Toninato broke a 1-1 tie in the third as the Jets stole home-ice advantage.
Story of the game
Neither team got into any sort of rhythm in the opening minutes of the game. Edmonton didn't get any shots off for the first eight minutes.
Connor McDavid, who led the NHL with 102 points, was limited to a couple of chances off of the rush towards the end of the period. Oilers goaltender Mike Smith made a nice save against Kristian Vesalainen and Mark Schiefele fired over on a three-on-one.
In the second period, Slater Koekkoek set up Ryan Nugent-Hopkins, but he couldn't beat Hellebuyck. He fought off a redirect from James Neal and a tip of Alex Chiasson, but soon after, Edmonton was in front.
A shot from the point by Tyson Barrie hit a body in front and fell to Jesse Puljujarvi and after two touches, he beat Hellebuyck to give the Oilers a 1-0 lead. Tucker Poolman tied the game after Smith failed to secure a shot by Blake Wheeler.
The Jets were in front for good with 9:14 remaining as Logan Stanley blasted a shot from the blue line that Logan Toninato tipped past Smith to give Winnipeg a 2-1 lead and Kyle Connor and Wheeler added empty-netters to secure victory.
Winnipeg postgame reaction
Hellebuyck described his feelings on playing and winning on his 28th birthday.
"Today has been an exciting day for me", he said. "Everyone around the rink has made me feel real happy about my birthday. This is the perfect way to celebrate it.
"And I just thought it was a good team game tonight. Our details were right and I thought our offensive game came when it needed to."
Wheeler spoke about the reigning Vezina Trophy winner, saying "our confidence is directly tied to him. The way he carries himself gives us confidence single night and we know goaltending is very important this time of year."