Scottie Upshall also scored for the Coyotes, who extended their winning streak to six games. Phoenix is on its longest run since a nine-game streak from March 4-21 of last season.
Ilya Bryzgalov made 25 saves and weathered a last-minute flurry of shots from the Canucks.
"We wanted to come out and play well and it was an all-around good team effort," Pyatt said.
Keith Yandle had the puck as the Phoenix rush crossed into the Vancouver zone, then left a drop pass by the top of the right circle. Pyatt picked up the puck, made a sharp cut into the slot and fired a shot that got through traffic to put the Coyotes ahead.
Vancouver pressed in the final minute, trying to net the equalizer, and had some decent looks. The most dangerous moments occurred when the puck was bouncing around in the slot, with no one in control and the Canucks taking any chance they could get. But Phoenix managed to keep the puck out of the net, then cleared the zone as the final seconds ticked off.
"We came out and played hard, but the bounces didn't go our way," Canucks forward Alex Burrows said.
After a scoreless first period, the Coyotes got on the board early in the second. Nolan Yonkman blasted a shot that Upshall deflected, and Luongo made the save. But Upshall put the rebound in net for a 1-0 lead at 2:22.
Pyatt made it a 2-0 game a little less than four minutes later, but the Canucks came back.
Ehrhoff countered with a wrister at 8:51, and Glass' tip-in with a little less than six minutes left in the middle period tied the game.
Phoenix was 0-for-3 on the power play and was not whistled for any penalties...Pyatt entered the contest with one goal through his first 19 games...The teams split last season's four-game series, though both of Phoenix's wins came in a shootout.