The Canucks appeared headed for a victory and Roberto Luongo was on his way to what would have been a league-leading third shutout of the season.
Tomas Hertl kept San Jose's hopes alive, however, by scoring with 1:05 to go in regulation and Boyle turned a potential loss into a victory with his unassisted goal in the extra period.
San Jose, which has lost five games in overtime this season, won its second in a row. Vancouver has dropped three straight.
The Canucks' goal came from defenseman Kevin Bieksa, his first of the season, with 6:20 to play in the second period.
Antti Niemi made 35 saves for the Sharks, who are tied for the league lead with seven road victories. Luongo wound up stopping 29-of-31 shots.