Arizona had been 0-13-5 away from home since defeating the Carolina Hurricanes 4-0 on Nov. 23.
"I think it says a lot about our character," Coyotes coach Andre Tourigny said. "We find a way. We're obviously not the level of a Tampa Bay or something like that, but character-wise, you could see even in the second period, when the wind was against us, we still battled and worked really hard. So, proud of the boys."
Lawson Crouse scored twice, J.J. Moser, Clayton Keller and Matias Maccelli each had two assists, and Karel Vejmelka made 29 saves for the Coyotes (18-28-8), who are 3-0-3 in their past six games overall.
Arizona was playing its second straight game without defenseman Jakob Chychrun, who is being scratched for "trade-related reasons."
"We played really, really good [game] tonight," Vejmelka said. "It was a very tough game against a really good opponent. I think it was a tough game defensively, and we scored a couple goals, so it's good."
Roman Josi and Colton Sissons scored, and Kevin Lankinen made 15 saves for the Predators (25-20-6), who have lost two of three since the All-Star break.
"It's a tough loss," Nashville coach John Hynes said. "It's disappointing. Had a couple breakdowns where they wound up scoring, but I thought from our opportunity offensively, I thought we had good looks, and unfortunately tonight the puck didn't go in. We needed three or four to win tonight and we didn't get it."