Jordan Staal tied the game with 2:25 left in the third period for Carolina (4-5-3), which outshot Arizona by a combined total of 21-8 in the third period and overtime, but has lost four in a row and six of its past seven. Scott Darling made 23 saves.
"We've got to play like that for a full game, or at least try," Staal said. "The first two periods were just a track meet of giving away pucks and when we started playing hockey, we took over the game."
Darling kept the Coyotes off the scoreboard when he made a terrific glove save against Keller at 19:19 of the first period.
The Hurricanes had a chance to take the lead when Jeff Skinner was awarded a penalty shot after being hooked on a breakaway by Luke Schenn at 1:20 of the second period, but Skinner shot wide.
The Coyotes took a 1-0 lead when Brad Richardson stole the puck from Justin Faulk in the high slot and slipped a backhand pass under Jaccob Slavin's stick to Keller for a backdoor tap-in at 11:33 of the second period. It was the 11th time in 15 games that the Coyotes have scored first.
"I think most guys that aren't Clayton Keller or really good players in this league would go to the net real hard there," Richardson said. "Instead, he pulls back and gives you an option. Smart play by him."
Carolina tied the game 1-1 when Noah Hanifin kept a puck in at the blue line and got it to Sebastian Aho on the left wing. Aho slid a pass across the slot to Staal, who shot it in the far side of the net at 17:35 of the third period.
"I thought we had a real good third and a real good overtime," Hurricanes coach Bill Peters said. "Right now, we're struggling to score."
Raanta posted his first win in five games with the Coyotes.
"I felt really good," Raanta said. "I was dialed in. I felt like I was moving really good today and I was all the time in the right place and following the puck."