Chandler Stephenson had a goal and two assists, and Shane Wright scored twice for the Kraken (11-12-1), who have lost two in a row. Oliver Bjorkstrand had a goal and an assist, and Philipp Grubauer made 19 saves.
"I mean, [Stephenson is] a great playmaker. He's a really good passer. He's going to put me in a good spot every time," Wright said. "[I am] just trying to find a lane for him to make a play. He made a great pass to me on the goal."
The teams will play Saturday in the second of a home-and-home.
"It was whoever wanted to play defense would probably win the hockey game," Sharks coach Ryan Warsofsky said. "[There are] some things we got to look at and be better for tomorrow. I'm sure there are some goals that Grubauer wants back, so we go on that side of it. There's just some things we got to really clean up for tomorrow."
Timothy Liljegren took a Tyler Toffoli pass from behind the net and one-timed the puck over Grubauer’s blocker from the top of the right circle to give the Sharks a 1-0 lead at 2:07 of the first period.
Bjorkstrand tied the game 1-1 at 3:03 with a snap shot in front off a backhanded touch pass from Eeli Tolvanen.
Klim Kostin gave the Sharks a 2-1 lead at 16:25, finishing off a rebound below the right circle after Fabian Zetterlund's shot.
"I didn't expect [to play with Granlund and Smith] when I go to the rink," Kostin said. "When I saw the lineup, I was like, ‘Hey man, you gotta take that opportunity to prove yourself that you can play hockey.’"
Stephenson tied it 2-2 at 16:58. He won a face-off and emerged from a scrum, drove to the net, and slipped a backhand between Vanecek’s pads.
Wright gave the Kraken the 3-2 lead at 19:16 on the power play. He tapped in a rebound in front after Bjorkstrand's one-timer missed the net and came back off the end boards.
"The finishing statement will be that we gave them a lot of opportunities to demonstrate their skill," Kraken coach Dan Bylsma said. "[The] first period was a microcosm of the game. They played well."