The Canucks won their third in a row despite giving up a two-goal lead. It was the last outing in Vancouver's seven-game road trip, on which the Canucks went 5-1-1. Vancouver has played 13 games this season, only four of which have come at home.
Kesler's game-winning score came on the power play, just 19 seconds after Patrik Berglund was sent off for hooking. Kesler also scored midway through the second period to give Vancouver a 2-0 lead.
St. Louis came back to tie it on a second-period goal by Alexander Steen and another from Vladimir Sobotka 1:38 into the third. Steen's goal was his eighth of the season, tying him with San Jose's Patrick Marleau for second most in the NHL -- two behind Washington's Alex Ovechkin.
The win went to Eddie Lack in his third career appearance. He made 22 saves. Jaroslav stopped 18-of-21 shots.