Kesler's initial tally came in the first period, only 10 seconds after Tye McGinn had scored for a 1-0 Flyers advantage.
McGinn found the net again in the second period to give Philadelphia its only lead at 2-1, but it didn't hold as the Canucks mounted a rally in the final period.
Chris Higgins got the equalizer 7:31 into the period when he blasted a Henrik Sedin pass from behind the net past goalie Steve Mason, and Kesler's tally off the rebound of Higgins' initial shot 10 minutes later proved decisive.
Roberto Luongo made 20 saves as the Canucks began a seven-game road trip with a victory.
Mason turned aside 22-of-25 shots for the Flyers, who slumped to 1-6-0 to begin the season.