It took six rounds of the tiebreaker to settle this one, and Kesler ended it with a backhand shot past goalie Marty Turco. Stu Barnes had an opportunity to send it into another round but his effort was stopped by Roberto Luongo.
Vancouver scored twice on six opportunities in the shootout with Brendan Morrison also beating Turco, 3-1 this season in the tiebreaker and 15-2 in his career. Jussi Jokinen was the only Dallas player to score on Luongo.
The Stars nearly won the game in overtime when they had several prime scoring chances in the final minute.
With Daniel Sedin in the penalty box for hooking Sergei Zubov, the Stars were in position to win.
Philippe Boucher hit a goal post with 30 seconds left. Just 10 seconds later, Luongo made a great right pad save on Zubov from point-blank range. If that wasn't enough, Jere Lehtinen's deflected shot in the final seconds slipped into Luongo's midsection.
Vancouver took the lead with 62 seconds left in the first period as Mattias Ohlund jumped on a rebound and slammed it in before Turco could regain his balance.
Dallas tied it midway through the second as Loui Eriksson stepped out of the penalty box and took a long pass from Patrick Stefan for a breakaway. Eriksson went to his backhand and beat Luongo between the legs for his fourth goal of the season.
The Canucks' difficulties against Turco were nothing new. He is 12-2-0-1 against them with a 1.69 goals-against average. In his last five games against Vancouver, Turco has allowed a total of six goals.
Dallas outshot Vancouver 40-21 and went 0-for-7 on the power play. The Canucks were 1-for-6 with the man advantage.
Notes: Dallas C Mike Modano practised with the team Tuesday but didn't travel with the Stars for their three-game road trip. Modano, who has a torn muscle in his hip, said he felt good when skating lightly but was in considerable discomfort as soon as he tried to push it. Modano has missed 14 games . . . Dallas was also without C Steve Ott (ankle), C Eric Lindros (lower body) and LW Brendan Morrow (wrist) . . . Vancouver captain Markus Naslund has gone 16 games without a goal, his longest drought since an 18-game stretch during the 1996-97 season.