Nick Schmaltz, Dryden Hunt and Phil Kessel also scored for Arizona, and Adin Hill stopped 20 shots. The win moved the Coyotes within two points of St. Louis for fourth place in the West Division.
''Every line contributed tonight,'' Arizona coach Rick Tocchet said. ''Schmaltz really had a good game. Hunt had a lot of energy. He was very disruptive, and I'm glad he got that goal.''
Tomas Hertl and Patrick Marleau scored for San Jose. Marleau's goal was the 564th of his career, tying him with Mats Sundin and Joe Nieuwendyk for 23rd in league history. Martin Jones stopped 23 shots,
The teams meet again Saturday night in Glendale.
With injuries taking out the Coyotes' top two goaltenders and other key contributors, and playing late in the game without defenseman Jakob Chychrun, Tocchet was pleased to see everyone come to play.
''When you have people banged up, you look for guys to step their game up,'' Tocchet said. ''We need that if we're going to get in this thing, the playoff race.''
Dvorak took over the team lead in goals with 11. He opened the scoring 6:20 into the game off a pass from Conor Garland - part of a period when the Coyotes outshot the Sharks 12-4.
Hertl's short-handed goal tied it 1:54 into the second period. He went in alone on Hill just after Garland hit the post on Arizona's power play, with San Jose's Mario Ferraro in the penalty box for holding.
Schmaltz redirected Ilya Lyubushkin's shot from the point to beat Jones with 1:16 remaining in the second period to put the Coyotes ahead 2-1. Dvorak made it 3-1 with an unassisted goal 7:48 into the third.
Kessel celebrated his 1,100th career game with a power-play goal midway through the third. San Jose was assessed a bench minor for delay of game when the Sharks appealed for goaltender interference on Hunt's goal.
Marleau's power-play goal, with Schmaltz off for boarding, came with 7:30 to play.
Kessel became the 201st player to reach 1,100 career games. Well ahead of him on the list is Marleau, who can tie Mark Messier on Saturday for second place in most NHL games played with 1,756. That would put him within 11 of all-time leader Gordie Howe.
Arizona placed its third player on injured reserve this week Thursday when center Tyler Pitlick went down with an undisclosed injury.
Pitlick, who last played Tuesday against Colorado, joins defenseman Niklas Hjalmarsson and goalie Antti Raanta, who last played Monday. Arizona was already without its No. 1 goalie, Darcy Kuemper, who was injured last week.
The Sharks' Logan Couture, who left San Jose's game against Los Angeles on Wednesday night with an upper-body injury, started at center on Friday. Couture entered Friday tied with Evander Kane for the Sharks' lead with 14 goals and has played in all 32 Sharks games this season.
More AP NHL: https://apnews.com/hub/NHL
Copyright 2021 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.