SAN JOSE -- Marcus Sorensen scored his first NHL goal, and Logan Couture had a goal and an assist to help the San Jose Sharks defeat the Vancouver Canucks 3-1 at SAP Center on Thursday.
Mikkel Boedker also scored, and Aaron Dell made 17 saves for the Sharks (38-18-7), who won their third straight game and ended Vancouver's six-game winning streak in San Jose.
San Jose leads the Edmonton Oilers by seven points and the Anaheim Ducks by nine for first place in the Pacific Division.
WATCH: All Canucks vs. Sharks highlights
"We're stringing games together," defenseman Brenden Dillon said. "I think in the past couple seasons, these games that we should be taking advantage of and should be winning, maybe we're taking our foot off the gas or not necessarily getting the job done. But we're finding ways. For us, we're understanding the importance of every point, and I think we saw with home ice how important that was last year in the playoffs. Just going down the stretch here, we want to take advantage if we can."
Sharks center Joe Thornton remains one assist shy of 1,000 for his NHL career.
Bo Horvat scored, and Ryan Miller made 29 saves for the Canucks (26-30-7), who lost their fourth straight game (0-3-1).
Horvat gave Vancouver a 1-0 lead at 7:38 of the first period when he scored on the power play. The goal, his 19th, gave him an NHL career-high 41 points, surpassing the 40 he had in 2015-16.
Video: VAN@SJS: Boedker picks the corner off Couture's feed
Boedker made it 1-1 at 15:45 of the first with his eighth goal. He beat Miller from the right faceoff circle with a shot that deflected off Canucks defenseman Luca Sbisa's stick into the left corner of the net. Couture got the primary assist after winning a battle for the puck and sending a cross-ice pass to Boedker while under pressure.
Sorensen put San Jose ahead 2-1 at 9:28 of the second period, beating Miller with a wrist shot from close range.
"It was a great shift by our line," said Sorensen, who played his fourth NHL game. "We were cycling. I was trying to crash the net."
Couture increased the Sharks lead to 3-1 at 13:49 of the second when he scored from the right circle. Patrick Marleau and Brent Burns had the assists.
"Second period, we were terrible and that cost us the game," Canucks defenseman Christopher Tanev said. "We didn't battle hard enough. We were in our end the whole second period."
San Jose defenseman David Schlemko left the game late in the first period with an undisclosed injury.
Goal of the game
Sorensen blocked a shot to start a sequence that led to his first NHL goal. The rookie controlled a short pass from Tomas Hertl with his right skate and beat Miller from the bottom of the left circle with a wrist shot inside the left post. "I didn't see it go in at first," Sorensen said. "I saw Hertl was celebrating. It was a dream."
Video: VAN@SJS: Sorensen slots home first career goal
Save of the game
With 13:13 left to play, Vancouver's Markus Granlund had a great chance to score a shorthanded goal on an odd-man rush, but Dell, in his 11th start of the season, made a blocker save to preserve San Jose's two-goal lead. "Not a lot of work," Dell said. "Those are the harder [games] to play. I think we did a really good job. We didn't give them a lot of chances. We really shut down their top guys tonight."
Video: VAN@SJS: Dell stops shorthanded chance with kick save
Unsung performance of the game
Forward Sven Baertschi had an assist, two hits and three blocked shots in 16:59 in his return to the Canucks lineup after missing nine games with a concussion.
Highlight of the game
Couture took a pass from Marleau and lifted a shot from the right circle over Miller's glove to give San Jose a two-goal lead.
Video: VAN@SJS: Couture pots scorching wrister over Miller
They said it
"Our start was pretty good, but our second and third weren't good enough. The second period we just came out flat." -- Canucks center Bo Horvat
"We're deep. That's all you ask for going into the end of the year and a playoff run. You need a lot of guys to step up, and you never know what's going to happen going forward. Injuries happen in this game, unfortunately. There are times in different games where we need different ingredients, and I think with the group of guys that we have here, the 23-25 guys that we have, we're looking pretty good." -- Sharks center Logan Couture
Need to know
Tanev (mumps) and center Michael Chaput (mumps symptoms) returned to the Canucks lineup after missing two games. .. Forward Joseph Cramarossa, claimed off waivers from Anaheim on Wednesday, made his Vancouver debut and played 6:26. ... Canucks defenseman Alex Biega was a late scratch because of an illness. Philip Larsen took his place. ... The Sharks are 3-0-0 against the Canucks.
Canucks: At the Los Angeles Kings on Saturday (10 p.m. ET; SN, FS-W, NHL.TV)
Sharks: At the Minnesota Wild on Sunday (6 p.m. ET; FS-N, FS-WI, CSN-CA, NHL.TV)
Video: Sorensen scores first NHL goal in Sharks' 3-1 win