VANCOUVER -- Clayton Keller scored and set up Derek Stepan's game-winning goal with 58 seconds left in the third period to lift the Arizona Coyotes to a 2-1 victory against the Vancouver Canucks at Rogers Arena on Wednesday.
After Stepan won a face-off in the right circle in the Canucks zone, Keller skated the puck back toward the blue line and returned it to Stepan in the high slot for a quick wrist shot over goalie Jacob Markstrom's glove.
[WATCH: All Coyotes vs. Canucks highlights]
"I have been talking with my wingers a lot about helping on draws, and [Keller] was able to help on the face-off, gets the puck on his stick, and it's a pretty elite play he makes," Stepan said. "I am able to find my spot and find the back of the net."
Darcy Kuemper made 16 saves for the Coyotes (21-34-11), who outshot Vancouver 34-17.
"That's one of the best games I've seen any team play this year," said Kuemper, who earned his first win since being acquired in a trade from the Los Angeles Kings on Feb. 21. "We had the puck for almost the entire game down in their zone, and I was just hoping my feet wouldn't go to sleep."
Video: ARI@VAN: Kuemper, Cousins combine to keep puck out
The Coyotes are 3-0-1 in their past four games and have at least a point in 11 of 13 (9-2-2). They hit the post three times in the second period before getting the go-ahead goal late in the third.
"Our group did a good job of sticking with it," Stepan said. "We did a lot of good things to not get stubborn with our play, make sure we defended when we needed to and get pucks in deep, and we get rewarded."
Jussi Jokinen scored, and Markstrom made 32 saves for the Canucks (25-33-9), who have lost four of five games (1-2-2).
Vancouver was playing its first game since leading scorer Brock Boeser injured his back in a 4-3 overtime loss to the New York Islanders on Monday. The 21-year-old rookie forward could miss the rest of the season.
"We had a lot of guys who weren't very good tonight, and we're not a good enough team to have that," coach Travis Green said. "It had nothing at all to do with Brock being out. These guys are not sitting there hanging their head because Brock is out. They feel bad because a player is hurt, but that's just not the way it works in the locker room."
Keller gave the Coyotes a 1-0 lead at 18:20 of the first period when he swept the puck from under defenseman Alexander Edler at the side of the net after Markstrom made a save against Brendan Perlini in tight. The goal came eight seconds after the first penalty of a 5-on-3 power play expired.
Video: ARI@VAN: Keller trickles a puck home in front
Canucks center Brandon Sutter appeared to score on a shorthanded breakaway at 17:16 while down two men, but the goal was overturned after video review showed his backhand hit the cross bar and stayed out.
"A big break," Arizona coach Rick Tocchet said. "That's a big difference if they score shorthanded."
Jokinen tied it 1-1 on a delayed penalty with 16 seconds left in the first period. Vancouver controlled play for 55 seconds with Markstrom pulled for an extra attacker, and Brendan Leipsic made a touch pass from behind the net into the slot for Jokinen, who one-timed it over Kuemper's glove for his first goal since being acquired in a Feb. 26 trade from the Columbus Blue Jackets.
"It's really important, I'm playing for my job next year," said Jokinen, 34, who is on his fourth NHL team this season and scored for the first time since Nov.30. "It's been a frustrating season."
Goal of the game
Stepan's goal at 19:02 of the third period.
Video: ARI@VAN: Stepan buries perfect wrister from the slot
Save of the game
Kuemper stopping Sam Gagner at 7:55 of the third period.
Video: ARI@VAN: Kuemper kicks away Gagner's tip-in chance
Highlight of the game
Jokinen's goal at 19:44 of the first period.
Video: ARI@VAN: Jokinen strikes on one-timer in the slot
They said it
"These games are a little scary when you are controlling play all the way and it's still tied, so I was just trying to stay ready and the guys did a great job in front of me." -- Coyotes goaltender Darcy Kuemper
"We were so bad with the puck tonight. We put passes in feet, passes behind one another, and when we did get a pass, we didn't do anything with it." -- Canucks coach Travis Green
Need to know
Keller's 48 points (18 goals, 30 assists) are fourth among NHL rookies. ... Adin Hill backed up Kuemper. He was called up from Tucson of the American Hockey League after Annti Raanta experienced lower-body tightness in warmups and was unable to play Monday against the Edmonton Oilers. Raanta skated on his own Wednesday and is day to day. ... Boeser, who leads NHL rookies with 29 goals and the Canucks with 55 points, is expected to miss 4-6 weeks with a soft-tissue injury and nonstructural, nondisplaced fracture of the transverse process in his lower back.
Coyotes: At the Colorado Avalanche on Saturday (3 p.m. ET; ALT, FS-A PLUS, NHL.TV)
Canucks: Host the Minnesota Wild on Friday (10 p.m. ET; SNP, FS-N, NHL.TV)
Video: Stepan, Keller push Coyotes past Canucks, 2-1