Clayton Keller had a goal and an assist, and Scott Wedgewood made 27 saves for the Coyotes (5-21-2), who lost their sixth game in a row and eighth in the past nine (1-8-0).
"I thought we played a good game, a good 60 minutes until they got those two power plays," Keller said. "I think that's how we want to play hockey games. That's why you play this game, for games like that."
Keller scored in front off Nick Schmaltz's crossing pass to give the Coyotes a 2-1 lead at 8:47 of the third.
With Phil Kessel in the box for interference, Zibanejad's power-play goal on a wrist shot from top of the left face-off circle tied it 2-2 at 14:14. Arizona then was penalized for too many men on the ice, leading to Kakko's second goal.
"It wasn't the easiest way for us," Kakko said. "We got the power play, and that was big for us. It was a big win for us."
Arizona coach Andre Tourigny said, "We fought. ... We played against a good, heavy team, and we played well. It's frustrating because at 5-on-5, we were really good. We lost the special-teams battle, we lost the game."
Loui Eriksson scored Arizona's first shorthanded goal of the season at 17:46 of the first period for a 1-0 lead. It was Eriksson's first goal since Feb. 22, 2020, with the Vancouver Canucks.
Kakko tied it 1-1 on a rebound at the side of the net at 10:40 of the second.