Kesler deked goalie Jason LaBarbera and beat him with a low shot to the stick side.
Cody Hodson, Alex Edler and David Booth also scored in the shootout for the Canucks. Booth gave the Canucks a 1-0 lead midway through the second period.
Vancouver closed to within two points of the idle Detroit Red Wings atop the West and has played one fewer game.
The Canucks halted Phoenix's season-high five-game win streak to improve to 7-0-3 in their last 10 games.