Steen then took his turn and unleashed a wrist shot that got past Schneider for the game-winner.
Jay Bouwmeester scored in the third period and Elliott ended up with 21 saves for St. Louis, which kept pace in the battle for a Western Conference post-season slot.
Schneider made 35 stops and Alex Edler scored for the Northwest Division-leading Canucks, who fell for the second time in three games.
Pot vending machine to debut
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend