Devan Dubnyk made 35 saves for San Jose (3-5-0).
"We put ourselves in a good spot, 0-0 game going into the third," Dubnyk said. "This is a tough team to play against. We've been grinding for a long time here, we put ourselves in a spot to win and we're looking forward to moving on."
Kadri gave the Avalanche a 1-0 lead at 9:55 of the third period, scoring from low in the right circle following a scramble in front of the net. Burakovsky made it 2-0 at 11:53 when he redirected Kadri's centering pass at the top of the crease.
Kadri increased the lead to 3-0 with a power-play goal at 18:54 when he redirected Cale Makar's point shot.
"I didn't sense any frustration from our guys after the first two periods," Avalanche coach Jared Bednar said. "The message was simple: just stick with it and let's not pass up on any of our shots. We were getting a little too selective, we could have put a few pucks at the net. I thought we did that in the third. San Jose did play a real disciplined game and our guys stuck with it. It was a real mature performance from our team."
The Avalanche outshot the Sharks 20-8 in the third period.
"The last couple of games we haven't shot enough," San Jose forward Tomas Hertl said. "We have a couple of big guys and we have to get more to the net. We barely have 20 shots every game now and we can do way more than that."
The Sharks were 0-for-4 on the power play and are 1-for-23 in their past five games.
"We're losing draws on the power play, so we're chasing pucks down the ice," San Jose coach Bob Boughner said. "We get in, get set up and we get a shot and they get it back down, so now you've gone up and down the ice twice and you don't have any gas. We've got to win more draws on the power play. It's got to be better."
NOTES:Sharks forward Patrick Marleau played his 1,731st NHL game to tie Ron Francis for fourth in history. … Avalanche forward Pierre-Edouard Bellemare left with a lower-body injury in the first period after Sharks forward Ryan Donato lost an edge and fell into him. Bednar did not provide an update after the game. … Avalanche forward Mikko Rantanen's goal-scoring streak ended at six games. … Colorado forward Nathan MacKinnon had six shots to extend his streak with at least one to 228 games, moving past Joe Sakic for the longest regular-season streak in Avalanche/Quebec Nordiques history. … San Jose announced that due to a roster issue with the taxi squad, Marcus Sorensen played instead of Alexander Chmelevski, who was scheduled to make his NHL debut.