San Jose's Joe Pavelski scored on a power play to tie it midway through the third period. Brett Burns fired a shot from just inside the blue line that Pavelski redirected past Devan Dubnyk for his 200th career goal.
Shane Doan scored 52 seconds into the third to give the Coyotes a 3-2 lead. He followed Sam Gagner's shot and flipped in the rebound.
Vermette and David Schlemko scored in the first to put the Coyotes ahead en route to their third road win in four games.
Dubnyk stopped 40 shots for the Coyotes. Antti Niemi made 22 saves as the Sharks fell to 2-3-2 at home.
Tommy Wingels and Andrew Desjardins had goals in the second period to tie it for the Sharks.
Wingels scored the Sharks' first short-handed goal of the season after rookie Barclay Goodrow wrenched the puck free along the boards to create an odd-man attack.
Desjardins scored his first goal of the season after getting an easy pass from Tyler Kennedy, who made a nice play along the boards to control the puck in the neutral zone.
Vermette opened the scoring with a power-play goal that was set up by Doan. Vermette was able to slip the puck past Niemi after Doan tapped it his way.
Schlemko, recently recalled from Portland of the AHL, scored his first goal of the season. He has a point in both games in which he has played since being called up.
NOTES: Coyotes F Mikkel Boedker earned a pair of assists and has 100 in his NHL career. ... Gagner has a point in three straight games and five points in five games. ... Goodrow recorded his second career point in his 10th game. ... The Coyotes have scored a power-play goal in five of their last six games. They were 0 for 18 in their previous four. ... Doan's next game will tie him for 48th on the career list with Adam Oates (1,337). ... Sharks C Joe Thornton had his eight-game point streak snapped.