Elias Pettersson had a goal and two assists, Quinn Hughes had three assists, and Jacob Markstrom made 45 saves for the Canucks (11-8-4), who ended a three-game winless streak (0-2-1).
"We were on tonight," Canucks forward Bo Horvat said. "We talked about kind of what we had to do and simplify things, and it seemed to work. We were getting pucks and bodies toward the net and getting rewarded for it."
WATCH: [All Canucks vs. Predators highlights]
Vancouver scored five power-play goals in a game for the first time since Nov. 6, 2011, against the Chicago Blackhawks. The Canucks went 5-for-6 with the man-advantage Thursday; the Predators were 1-for-6.
Pekka Rinne made 12 saves on 17 shots for the Predators (9-9-3) through two periods. Juuse Saros replaced him to start the third and made the save on all five shots he faced.
Nashville is 0-5-1 in its past six games and 1-6-2 in its past nine.
"Things aren't bouncing our way right now, but at the same time, we're not making it easy on ourselves either," Predators center Matt Duchene said. "Whenever things are tough sledding like right now, you've got to do whatever you can to give yourself a chance. You take that many penalties, I don't know how many we took, six or seven, I don't know what it was. They got three or four great bounces on the power play and just put pucks to the net."
Ryan Johansen gave the Predators a 1-0 lead at 8:07 of the first period on a breakaway.