Phil Kessel scored the go-ahead goal in the third and the Coyotes beat St. Louis 3-1 on Tuesday night to halt the Blues' eight-game winning streak.
Conor Garland also scored, Jakob Chychrun assisted on both goals and Antti Raanta stopped 38 shots as the Coyotes ended a three-game losing streak. Nick Schmaltz added an empty-net, power-play goal.
Kessel took a pass from Lawson Crouse behind two defenders and buried one to make it 2-1 7:20 into the third period
Tyler Bozak scored the Blues' only goal. The Blues ended up 0 for 4 on power plays and lost despite outshooting the Coyotes 38-27. St. Louis failed to score on a power play for the first time in five games.
Garland went high over goaltender Jake Allen's glove with four seconds left on the Coyotes' first power play to give Arizona the lead at 8:05 of the first period.
The Blues tied it at 14:53. With the Coyotes unable to clear the puck from their zone, Alex Steen drove in and backhanded a pass to Bozak for his eighth goal of the season.
The Coyotes finished the first period on a four-minute power play, thanks to a double minor for holding and unsportsmanlike conduct against the Blues' Ivan Barbashev.
St. Louis went on a 5-on-3 power play early in the second period after a tripping call against Raanta and a hooking penalty on defenseman Oliver Ekman-Larsson. The Blues couldn't convert.
Raanta said the Coyotes took away the middle of the zone on defense.
Arizona's Vinnie Hinostroza hit the crossbar with a shot at 5:59 of the second period. Despite several chances for both teams, neither managed a goal in the second 20 minutes.
Allen had 23 saves for St. Louis, which lost for just the fifth time in regulation time on the road this season.