Kessler first scored during a 5-on-3 power play 3:24 into the game and Tom Sestito doubled the Canucks' advantage later in the first period.
But that deadlock lasted less than a minute as Kesler notched his second goal, putting Vancouver ahead to stay.
Eddie Lack stopped 29-of-31 shots for the Canucks, who were coming off a 5-2 loss to the New York Rangers Friday.
Cam Ward made 27 saves for Carolina.
Notable deaths of 2014 [PHOTOS]
Arizona Cardinals player formally charged