Demko made 32 saves for his third win this season (14th start).
"It's a big one," Demko said. "That's one of the ones that we probably haven't gotten yet this year where we maybe did some things wrong, but (we) stuck together as a group and found a way to win."
Luke Kunin scored twice, and Erik Karlsson and Nick Bonino each had two assists for the Sharks (7-13-4), who have lost five of six (1-4-1). Kahkonen made 16 saves.
"I thought we looked a lot better and played a lot better than we did the previous night (5-2 loss to the Los Angeles Kings on Friday)," San Jose coach David Quinn said. "I liked the tempo for the most part all night long. Listen, that's a good hockey team. I know what their record is, but look at that lineup. They've got a lot of good hockey players."
Kyle Burroughs opened up scoring for Vancouver to make it 1-0 at 7:26 of the first period. He scored on a one-timer from the point off a pass from Bo Horvat.
Kunin tied it 1-1 at 16:12 of the second period. Bonino's redirection of Matt Benning's pass deflected off the back of Kunin, floated up into the air, and dropped behind Demko into the net.
"I knew [the puck] hit something, but Kunin was in the right place, and obviously I'm just happy we scored," Bonino said.