Granlund cut it to 2-1 at 13:32 when Anthony Duclair's wrist shot from the left face-off circle deflected off his stick and by Demko, and Tomas Hertl tied it 2-2 with a backhand five-hole at 16:22.
Nils Aman put the Canucks up 3-2 at 6:03 of the second period when he tapped in a cross-crease pass from Teddy Blueger on a 2-on-1.
Cole's slap shot from the point deflected off Sharks forward Justin Bailey before being tipped by Sam Lafferty and in for a 4-2 lead at 8:36.
Fabian Zetterlund brought San Jose to within 4-3 at 11:08 with a shot by Demko's blocker after a setup into the slot by Ferraro, but Dakota Joshua made it 5-3 at 19:13 with a shot by a sprawled Blackwood on a setup from Conor Garland.
Jacob MacDonald scored on a rebound to make it 5-4 at 13:16 of the third period, and Pius Suter deflected a point shot by Hughes by Blackwood at 15:43 for the 6-4 lead.
"You just do the best you can and try to get big and take away the angle and if they beat you with a tip... I'm not a superhero, you don't have superhero reflexes... you just try to get big and take away the angle and if they beat you with a good tip there's not really much you can do," Blackwood said.
Hughes scored into an empty net at 19:47 for the 7-4 final.
"We like the direction that we're heading and it's going to be nice to get a few days off here to reset," Joshua said. "We know that once it gets going again on Thursday that we have to stay on this roll and keep it going the rest of the year."
NOTES: Vancouver's third line of Blueger, Joshua, and Garland have combined for 28 points (10 goals, 18 assists) in their last 10 games. ... Blueger has eight points (two goals, six assists) in a six-game point streak. ... Hughes has 68 multi-point games in the NHL, tying Alexander Edler for most by a defenseman in Canucks history. ... Demko is tied for the NHL lead with 17 wins. ... Hertl has eight goals in his past 11 games. ... Zadina has four points (one goal, three assists) in a three-game point streak. ... Granlund is tied for second in the NHL with 13 assists and is seventh with 16 points in December.