Hronek tied it 1-1 on the power play at 15:37 with a slap shot through the five-hole.
"I think the lesson for us [is play a] full 60 minutes," Lafferty said. "When we've done that this year, we've had a lot of success. So I think that's the formula for us."
Fabian Zetterlund put the Sharks back in front 2-1 at 14:05 of the second period before Boeser tied it 2-2 at 19:39, scoring a power-play goal on a rebound.
Granlund gave San Jose a 3-2 lead at 22 seconds of the third with his first goal of the season. He carried the puck up the middle, skated in on DeSmith and scored around the goalie’s right pad.
"I just found a lane and obviously got around the [defenseman] there and was able to put the puck in," Granlund said. "Obviously it feels good to get the goal and get on the scoreboard."
Hoffman pushed it to 4-2 on the power play at 1:48 when he scored on a backhand in front.
Boeser's second goal of the game made it 4-3 at 16:49 with DeSmith pulled for the extra attacker.
"After they scored their fourth goal, we gave it everything," Boeser said. "We tried to push back as hard as we could. And, unfortunately, we were a goal short."
NOTES: Quinn Hughes (assist) extended his point streak to 11 games (17 points; four goals, 13 assists) for the Canucks, tying Hronek for the franchise record and the longest streak by a defenseman this season. Vancouver became the first team to have two defensemen with a point streak of at least 11 games in the same season. ... Boeser has 15 goals, tied with Tampa Bay Lightning forward Nikita Kucherov for the NHL lead. ... Granlund entered Saturday with four assists in 13 games since being traded to the Sharks in the offseason deal that sent defenseman Erik Karlsson to the Pittsburgh Penguins. ... With his 110th multipoint game, Hertl passed Owen Nolan for sole possession of sixth in San Jose history.