Robert Edwards-USA TODAY Sports

Mike Hoffman scored twice as the San Jose Sharks dispatched the visiting St. Louis Blues 5-1 Thursday to earn just their third victory in 17 games.

Givani Smith and Luke Kunin each had a goal and an assist for the Sharks, who snapped the Blues' three-game winning streak.

William Eklund also scored for San Jose and Ryan Carpenter, Filip Zadina and Nikita Okhotiuk had two assists each. Kaapo Kahkonen made 44 saves to earn his first victory of the season.

Pavel Buchnevich scored for the Blues and Robert Thomas extended his point streak to eight games by earning an assist.

Blues goaltender Joel Hofer allowed four goals in 21 shots before being replaced after 22:55.

The Sharks scored just 2:02 into the game to take a 1-0 lead. They came off the right boards to get a 2-on-1 opportunity, with Nico Sturm feeding Hoffman for a shot into the open left side of the net.

The Blues stepped up their pressure late in the first period. But Kahkonen stopped Oskar Sundqvist on a clean break-in during the final minute, then he denied Sundqvist's rebound conversion attempt with 11 seconds left.

The Sharks regained momentum for good by scoring three times in the first 3:25 of the second period to boost their lead to 4-0.

Just 17 seconds into the second period, Okhotiuk fired a shot from the left point and Eklund deflected it past Hofer from the high slot.

Smith scored at the 2:39 mark by claiming a loose puck and scoring from the near slot. Then Kunin scored 46 seconds later, taking a pass from Smith and scoring from the near slot.

At that point Blues coach Craig Berube replaced Hofer with Jordan Binnington.

After the Blues applied steady pressure in the San Jose zone, Hoffman converted a breakaway to make it 5-0 with 6:15 left in the second period.

The Blues spoiled Kahkonen's shutout bid with 6:05 left to play when Justin Faulk fired a point shot that Buchnevich deflected into the net.

More must-reads:

TODAY'S BEST
Micah Parsons makes history with new Bleacher Report deal
Celtics assistant named candidate for Lakers HC job
Rudy Gobert fined $75,000 for gesture in Game 4
Former Canadiens GM on Blue Jackets' radar
Cubs designate lefty reliever for assignment
Two-time Super Bowl champ signs with AFC contender
Stars center matches Gretzky feat as Dallas pushes Avalanche to brink
Gritty young Thunder take down veteran Mavericks in Game 4
Cubs acquiring veteran reliever from Mariners
Top-five NBA Draft prospect suffers scary non-contact injury
Hurricanes stay alive with third-period outburst vs. Rangers
Jaylen Brown's big three-pointer gives Celtics 3-1 lead over Cavs
Avalanche star placed in player assistance program
Mercury announce devastating injury on eve of WNBA season
Randy Moss' son makes major football announcement
Reds place key outfielder on injured list with broken thumb
Tom Brady's broadcasting debut set for Week 1 of NFL season
Struggling Cubs reliever placed on injured list 
Report: Justin Fields had ‘toxic' relationship with ex-Bears QB
Extension makes Lions QB Jared Goff one of NFL's highest-paid players