Joel Eriksson Ek doesn't always join the circle that juggles a soccer ball before games.

But he did Saturday, and the practice came in handy later that night.

Eriksson Ek redirected in a puck with his chest, a soccer-style finish that was the second of three goals in a row that kick-started the Wild to take a 5-2 bite out of the Sharks in front of 3,000 at Xcel Energy Center for the team's third straight win.

"Maybe it had a little part of it," Eriksson Ek said.

Those three goals in 1 minute, 12 seconds in the first period put the Wild in control, teeing up another well-balanced attack by the offense.

Zach Parise scored for a third straight game while becoming just the third player in Wild history to register 400 points with the franchise. Mats Zuccarello also extended his goal-scoring streak to three games. And Kirill Kaprizov buried his team-leading 17th goal to tie Marian Gaborik for the most points by a Wild rookie in a single season with 36.

At the other end, Kaapo Kahkonen had 26 saves in his first appearance since he was in net for the 9-1 loss last weekend in St. Louis. The victory ended his three-game slide and was his 13th of the season, moving him past Darcy Kuemper for the most wins by a Wild rookie goalie in a season.

"A couple times there I felt like I was doing almost too much trying to battle," Kahkonen said. "But I think that was the way for me to come back from that embarrassment last time in St. Louis. Just try to battle and fight for every single puck."

Kahkonen missed on a point shot by Brent Burns at 12:02 of the first, a goal that came shortly after San Jose's Patrick Marleau was recognized for playing his 1,767th game to tie Gordie Howe's NHL record.

After the goal, Kahkonen went to the bench and said, "That's my bad goal for the night." The Sharks got only one more puck by him, a shot from Joel Kellman with 2:15 left in the third, but Kahkonen was solid while the Wild was building a lead.

BOXSCORE: Wild 5, San Jose 2

Zuccarello tied the game at 14:35 of the first when his shot caromed off Burns' skate and into the Sharks net on the power play. This is the second time this season Zuccarello has had a three-game goal streak.

The finish was the 13th by the Wild power play over the past nine games, and the Wild ended up 1-for-4. San Jose went 0-for-2.

Only 36 seconds later, the rebound off a Jordan Greenway shot hit Eriksson Ek in the chest and bounced into the net for Eriksson Ek's 14th goal of the season. Greenway's assist was his 20th, which leads the Wild and ties his career high. Marcus Foligno's assist on was his 200th career point.

And then 36 seconds later, Parise wired a shot through Sharks goalie Martin Jones for the eventual winning goal — his second in as many games.

Parise joined Mikko Koivu (709) and Gaborik (437) as the only players to tally 400 points with the Wild. The winger is also sitting on 199 career goals with the Wild.

"We're all competitive guys," Parise said, "and we want to win and want to be productive."

The scoring parade picked up in the second period, which saw Kevin Fiala get benched for the final 11 minutes for turning over the puck.

Zuccarello found Kaprizov for a one-timer at 1:14. And with 49 seconds to go in the period, Sturm delivered a wraparound goal that the Sharks challenged for goaltender interference, but the goal was confirmed.

Jones exited the game after two periods with 19 saves. Josef Korenar had four stops in relief.

Sturm's line with Parise and Nick Bonino has 12 points since they were united on the fourth line three games ago.

"That's what we all play the game for is to score goals," Sturm said. "Right now, it's certainly enjoyable."