Brandon Montour also scored, and Jordan Eberle had two assists for the Kraken (29-34-4), who have won three of their past four games. Philipp Grubauer made 22 saves.
Kevin Stenlund had a goal and an assist, and Karel Vejmelka made 18 saves for Utah (29-26-11), which has lost four of its past six games (2-2-2).
Tolvanen opened the scoring for the Kraken just 51 seconds into the first period. He scored on a rebound below the left circle following a giveaway by Olli Maatta and Sean Durzi in Utah’s defensive zone.
Nick Schmaltz tied it 1-1 at 16:48, scoring on a one-timer into an open net from the left circle off a cross-slot pass from Stenlund.
Stenlund then gave Utah a 2-1 lead at 7:35 of the second period, tapping the puck into another open net off a backhand centering pass from John Marino on a rush.
Montour tied it 2-2 at 18:54 when Eberle’s centering pass from along the right boards deflected inside the left post off his skate.
Schwartz appeared to give the Kraken the lead at 8:09 of the third period, but a video review showed that the puck never crossed the goal line.
However, Kakko did make it 3-2 at 10:29. He scored on a wraparound at the right post after Mikhail Sergachev’s clearing pass around the end boards hit the side of the net.
Tolvanen added an empty-net goal at 18:51 for the 4-2 final.