Horvat tied the game 1-1 at 11:09 of the second period. Conor Garland stole the puck at the blue line and passed to Horvat, who scored from the top of the slot.
Giordano scored his first goal of the season on a shot from the left face-off dot to give the Kraken a 2-1 lead at 5:09 of the third period.
Horvat put in a rebound for a power-play goal to tie it 2-2 at 12:52, and Garland scored unassisted off a turnover at 15:58 to give the Canucks their first lead, 3-2.
"You want to play a full 60 minutes and maybe not get down in the third period and have to claw our way back," said Horvat, the Canucks captain. "It just shows we have resilience in the room and guys stepped up at different times. [Garland] scored the game-winner there and came up big for us so just overall happy to get that one."