Gabriel Landeskog gave Colorado a 1-0 lead at 13:23 of the second period, scoring top shelf from a sharp angle below the left circle.
"I was able to get a step and kind of get in between two guys," Landeskog said. "Saros is a really good goalie, but you get around the net and as a smaller guy, has to put his shoulders down and then there's sometimes room up top. I got a little lucky there. I don't think it was in by much, but I'll take that."
Martin Kaut pushed the lead to 2-0 at 15:38 of the second from the high slot after Tyson Jost's pass redirected to him off the stick of Viktor Arvidsson.
Arvidsson cut it to 2-1 at 14:40 of the third period on a breakaway after Cale Makar whiffed on a shot from in close for Colorado.
Nashville appeared to tie it 2-2 at 16:46, but the officials determined that Colin Blackwell interfered with Francouz prior to the goal.
"It doesn't really matter if I'm satisfied because the call is what it is," Hynes said. "I can disagree or not, but it's over now. I think you have to understand what happens in those situations and how to be able to respond."
Johnson scored an empty-net goal to make it 3-1 at 19:03 of the third period. It was his 300th NHL point.
"I used to be known a little bit more for my offense," Johnson said. "Not so much anymore, but nonetheless, milestones are fun and even more fun when it's in a win. It's cool. That's not why you play the game, but you play long enough and you're around long enough and those things start to add up."
Calle Jarnkrok scored for the Predators to make it 3-2 with 1.7 seconds remaining in regulation.