Nashville lost goaltender Pekka Rinne, who got his NHL-leading 29th win, to a lower-body injury in the third period. He had stopped 20 of 21 shots before being replaced by Carter Hutton.
Filip Forsberg and Mike Fisher also scored for Nashville, winners of four straight. Mike Ribeiro had three assists.
Rinne was hurt when Vancouver forward Chris Higgins drove toward the Predators net and became entangled with Nashville defenceman Anton Volchenkov. The pair then collided with Rinne, and their momentum carried the Finn into the end boards.
Alexander Edler had the lone goal for Vancouver, which has lost its last three.
Smith scored the game's first goal at 4:07 of the opening period.
With Vancouver short-handed due to a penalty for too many men on the ice, Wilson found Smith in the low slot, where he beat Vancouver goaltender Eddie Lack for his 13th of the season.
Just 2:15 later, Wilson gave Nashville a 2-0 lead.
Fisher took the puck away from Brad Richardson inside the Nashville blue line and carried it down the right side. He found Wilson inside the Vancouver blue line and skated to the faceoff dot, where he beat Lack with a wrist shot high to the far side.
Wilson has multiple points in six of his last 11 games.
Edler halved the Nashville lead at 2:47 of the second, connecting from the right circle after a prolonged scramble inside the Predators zone.
Forsberg scored at 13:32 of the third when his wrist shot caught a piece of Lack and then trickled across the goal line.
Fisher struck at 15:31 of the third, and he was followed by Smith's second power-play goal of the game at 17:39.
Rinne was the goaltender of record in the game, earning his league-leading 29th victory.
Notes: Wilson has points in four consecutive games. ... Nashville LW James Neal returned to the lineup after missing five games with a lower-body injury. He posted two assists. ... Vancouver D Christopher Tanev assisted on Edler's goal. It was his first point since Dec. 22. ... The Canucks are 7-11-1 when their opponent scores first this season.