TORONTO -- Phil Kessel showed he's ready for the 2014 Sochi Olympics.
Kessel scored the game-winning goal at 10:03 of the third and assisted on James van Riemsdyk's insurance goal to lead the Toronto Maple Leafs to a 3-1 victory against the Vancouver Canucks at Air Canada Centre on Saturday night.
Kessel fired a wrist shot from just inside the blue line through traffic and past Canucks goalie Roberto Luongo for his 31st goal of the season. The goal, which put Toronto up 2-1, came with a delayed penalty coming on the Canucks, who had won 11 in a row against the Maple Leafs.
"It was a good win for us," said Kessel, who has 32 points in the past 21 games. "Hopefully, we can keep it going after the break."
Tyler Bozak earned the 100th assist of his career on Kessel's goal.
"You look at that whole line, people kind of look past [Bozak] and his importance to that line," Maple Leafs captain Dion Phaneuf said of the top line of Kessel, Bozak and van Riemsdyk. "They're one of the hottest lines in the league for a reason, and [Bozak] is a big part of that."
Kessel set up Van Riemsdyk for his 24th goal at 12:05. Van Riemsdyk collected a rebound of a Kessel shot and fired a shot that hit a stick and deflected off the face of Canucks defenseman Alexander Edler into the net.
"If you're playing with a guy for a long time and you have that continuity, things can bring out the best in each other and make each other even better players," van Riemsdyk said. "I enjoy playing with Phil, and I think he brings out the best in my game."
Kessel and van Riemsdyk will be teammates in Sochi playing for the United States.
"It's a huge thrill on this stage," van Riemsdyk said. "This is one of the highest levels of sport you can play on is the Olympics, so it's a huge thrill. To be with a guy I play with day in and day out, it should be fun."
The Canucks (27-24-9) have lost seven straight games, all in regulation. The Maple Leafs (32-22-6) have won two in a row and five of six heading into the Olympic break.
"It was a dog's breakfast as far as the trip, three in a row losing them all," Canucks coach John Tortorella said. "We're in a spiral, so [the Olympic break] couldn't come for a better time mentally and getting guys back also."
Vancouver took the lead when Ryan Kesler scored with 21 seconds left in the first period. Kesler took a pass from forward Chris Higgins and put a wrist shot on net that deflected off Maple Leafs defenseman Jake Gardiner's stick and past goalie Jonathan Bernier. It was Kesler's 20th goal.
After a scoreless second period, Mason Raymond tied the game at 7:23 of the third. Raymond, in his first season with Toronto after spending the past six with Vancouver, circled the Canucks net before stopping in the faceoff circle to Luongo's left and snapping a wrist shot by him for his 16th goal.
"I was at the point where I felt I was out and I could get a shot off," Raymond said. "I think there was traffic out front and, obviously, I'm happy it went in."
Tortorella was not pleased with his team's play leading up to the Olympic break, and he said the coaching staff deserves some blame.
"It's pretty obvious the coaching staff here has not done a good job teaching details of situational play," he said. "Third period, wall play, underneath the puck -- we just have not done a good enough job because our guys are just not consistent at it. It's going to be a huge focus as we get through this break and get ready to play again."
Bernier made 32 saves; Luongo stopped 21 shots.
"We've obviously got to be happy about the last month and a half or so; we've been playing really good," Bernier said. "Now we'll just take some rest and reset the button because the real season is coming after."
Maple Leafs forward Jay McClement sustained an upper-body injury 4:13 into the second period and did not return. He went hard into the boards after a hit by Canucks defenseman Dan Hamhuis and needed help to the bench.
"He fell awkwardly into the boards. He's got a gash over his eye," Maple Leafs coach Randy Carlyle said. "He went to the quiet room. He said he wouldn't be back, so we just kept him out."
|Ryan Kesler (20) ASST: Chris Higgins (17), Alexander Edler (10)|
1 - 0 VAN
|Mason Raymond (16) ASST: Nikolay Kulemin (10), Troy Bodie (5)|
1 - 1 Tie
|Phil Kessel (31) ASST: Tyler Bozak (19), Tim Gleason (4)|
2 - 1 TOR
|James van Riemsdyk (24) ASST: Phil Kessel (34), Tyler Bozak (20)|
3 - 1 TOR
|Power Play %||19.3%||15.9%|
|% on Road||17.3%||11.0%|
|% at Home||21.1%||20.6%|
|Zack Kassian Too many men/ice - bench|
|Kellan Lain Hi-sticking against Jay McClement|
|Alexander Edler Tripping against Mason Raymond|
|Mason Raymond Diving against Alexander Edler|
|Nazem Kadri Hi-sticking against Raphael Diaz|
|Phil Kessel Roughing against Alexandre Burrows|
|Alexandre Burrows Roughing against Phil Kessel|
|Alexandre Burrows Hi-sticking against Phil Kessel|
|David Clarkson Hooking against Ryan Stanton|