Travis Boyd drove to the net and put in his own rebound for a 4-3 Coyotes lead at 2:08 of the third period. Keller upped it to 5-3 with a one-timer from the right circle at 14:49 before Anthony Beauvillier scored at 18:21 for the 5-4 final.
"I mean, good things happen when you shoot the puck," said Schmaltz, who plays on a line with Keller and Boyd. "We're shooting the puck a little bit more. Some nights they go in and some nights they don't but, the more you shoot, the better chance you have to score goals."
Arizona has won its first three home games since ending a 14-game road trip (4-7-3) that lasted more than a month.
"We're a tough team to play against when we're playing the right way," Boyd said. "I think we're building something here, and it's a lot of fun to go out and play. Everybody is excited to be back home and we're playing well here, too."
Sebastian Aho gave New York a 1-0 lead at 1:41 of the first period with a one-timer from the left point, the first time in five games the Islanders scored the opening goal.
Barzal made it 2-0 at 13:33, diving into the crease to deflect Robin Salo's shot from above the left circle. Shayne Gostisbehere cut it to 2-1 at 19:16, three seconds after a power play ended.
"That goal late in the period, at the end of the penalty kill, shifted momentum a little bit," Islanders coach Lane Lambert said. "We have to be better. We have to find a way to get it back."
New York was 0-for-5 on the power play and is 0-for-11 in its past three games.
"I'm extremely disappointed with the fact that we didn't produce," Lambert said. "We generated some shots, but we needed a goal there."