The win was their 16th at home this season.
Matt Hendricks and Marko Dano added singles for Winnipeg, who moved to 25-11-7 overall.
Andrew Copp and Tyler Myers each had a pair of assists for the Jets.
Jets captain Blake Wheeler extended his points game streak to 6 games with an assist and has 8 points since being moved to centre following Mark Scheifele's injury in late December.
Connor Hellebuyck earned his 23rd win of the season.
Logan Couture scored San Jose's lone goal of the afternoon.
Martin Jones turned aside 26 shots for the Sharks, who dropped to 21-13-6.
Matt Hendricks opened the scoring 12:42 into the first period hustling on a loose puck before breaking alone on San Jose goaltender Martin Jones and beating him with a high backhander to make it 1-0 Jets.
The goal was his 4th of the season.
Marko Dano tipped a puck past Jones at 11:03 to put Winnipeg up 2-0.
Jacob Trouba fired a shot from the right point that Dano managed to get his stick on, with the puck trickling through the Sharks goaltender's pads to give the Jets a two-goal lead.
The goal was his 2nd of the season.
Logan Couture pulled San Jose to within a goal at 14:27 when he one timed a Joe Pavelski feed past Winnipeg goaltender Connor Hellebuyck, beating him high blocker side from the top of the left faceoff circle to make it 2-1. The goal was his 16th of the season.
Matthieu Perreault restored Winnipeg's two-goal cushion on the power play late in the second period, tipping a puck inbetween Jones' pads to make it 3-1 Jets at 19:03.
Tyler Myers feathered a pass to Joel Armia in the slot which the Jet winger redirected to Perreault who was by the San Jose crease.
Matthieu Perreault added an empty netter at 16:48 to seal the win for the Jets.
The goal was his 12th of the season.
SHOTS-SAN JOSE 32 WINNIPEG 30