Pavelski snapped a scoreless tie with 13:12 remaining when he scored his 28th of the season and seventh in the past four games to lead the Sharks to their fifth straight win with the help of another strong performance from their backup goalie.
Stalock, who got his first career shutout with 24 saves last Thursday in Florida, was just as stingy against the Jets and has allowed only four goals in winning his last four starts.
Ondrej Pavelec made 31 saves for the Jets.
The winning goal was set up when Olli Jokinen made a poor clearing attempt out of the defensive zone for Winnipeg. Justin Braun kept the puck in at the blue line and put a shot on net. Pavelski batted the rebound out of the air and into the net.
The game was scoreless after two periods as both teams played tight defense and allowed few prime scoring chances or rebounds on the 37 combined shots.
The Sharks had to kill penalties in the first period and needed a sprawling pad save from Stalock against Andrew Ladd on an odd-man rush in the final minute of the first period to keep it scoreless.
San Jose appeared to get the first goal late in the second after it got a power play when Jokinen took down Joe Thornton in front of the net. Pavelski won the faceoff and then got into position to knock a rebound into an open net, but the goal was waved off because Thornton fell into Pavelec after being hit by Mark Stuart.
It was the second time this season the Sharks were hurt by a disallowed goal against the Jets.
On Nov. 10 in Winnipeg, Patrick Marleau’s apparent overtime winner was disallowed because Tommy Wingels made contact with Pavelec in the crease. The Jets won that game 5-4 in a shootout.
The Jets killed off the rest of the penalty and got another chance on the power play when Mike Brown was called for charging against Jacob Trouba. Winnipeg took exception to the hard hit into the boards but could not capitalize on the man advantage.
NOTES: The Jets are just 7 for 76 on the power play on the road, second-worst in the NHL. ... The Sharks hosted a team from Winnipeg for the first time since Dec. 7, 1995, when they beat the original Jets, who later moved to Phoenix, 5-3. ... San Jose D Dan Boyle played his 400th game with the team.