"We know we're never out of a game," Edmundson said, who has six goals. "We think we can score goals whenever so we just stayed positive, went out in the third period and played a fast game and just kind of took over the game."
Colton Parayko and Vladimir Sobotka also scored, and Jake Allen made 20 saves for the Western Conference-leading Blues (15-5-1), who bounced back from consecutive losses with their second straight win to finish a three-game western Canada road trip.
Brock Boeser, Markus Granlund and Sven Baertschi scored, and Nilsson made 27 saves for the Canucks (9-8-3), who have lost four of their past five games (1-3-1).
"That's one of the better teams we've seen this year," coach Travis Green said. "I liked the way we played tonight. Obviously, you get up 3-1 you'd like to get a win, but give them credit."