Kyle Connor tied it 1-1 at 11:38 with his 10th goal of the season, on a rebound of Dubois' shot on the rush.
"I'm just playing my game," Connor said. "We've got pretty good chemistry with [Dubois] right now. I think we're reading each other really well and just taking a little more ownership all over the ice, and we all want the puck and to make a difference."
Nate Schmidt gave the Jets a 2-1 lead at 14:11 of the second period. It was the defenseman's first goal for Winnipeg; he was traded from the Vancouver Canucks in the offseason.
Jansen Harkins made it 3-1 at 19:16, scoring at the left post off a crossing pass by Adam Lowry.
"It's a lot easier going into the third period with a two-goal lead," Lowry said. "You're feeling better, you're getting rewarded for some of the chances. Going into the third up 3-1, it bodes well for your chances."
Dubois scored into an empty net with 33 seconds remaining in the third for the 4-1 final.
"I don't know if we ran out of gas," said Sharks assistant John MacLean, who is coaching San Jose in Boughner's absence. "I mean, I thought we had a couple opportunities and we just weren't able to bury it."
NOTES: Sharks forwards Timo Meier, Kevin Labanc and Matt Nieto, and defensemen Erik Karlsson, Jacob Middleton, Radim Simek and Marc-Edouard Vlasic are in the protocol. The seven players and Boughner are expected to rejoin the team Friday ahead of the game at the Colorado Avalanche on Saturday. San Jose is 3-2-1 in six games without Boughner. … Sharks defenseman Brent Burns had an assist, giving him nine points (one goal, eight assists) during a six-game point streak. … The Jets have a point in 10 of their past 11 games (7-1-3) and are 5-1-1 at home.