Curtis Joseph made 27 saves and kept Phoenix in the game with several stunners in the third period. Perreault then scored easily when Sharks goalie Vesa Toskala got entangled with defenceman Scott Hannan, leaving the net unguarded as Perreault came in from behind.
Oleg Saprykin and captain Shane Doan scored early goals for the last-place Coyotes in the first game of a home-and-home series between the division rivals.
Joe Thornton and Marc-Edouard Vlasic scored in the second period to tie it for the Sharks, who finished a disappointing six-game homestand with four losses, including three straight to Pacific Division foes. Toskala made 20 saves, but the Sharks lost consecutive games for just the third time all season.