After a scoreless first period, the Blues took the lead at the 2:13 mark of the second period when Eric Brewer threw a shot on net from the left point that Winchester redirected past Biron.
The Rangers, though, tied the game seven minutes later. On the transition, Dubinsky left a drop pass in the high slot for Mats Zuccarello, who fired it over to the right where Stepan blasted it past Halak.
Avery then made it a 2-1 game with 4:34 to play in the second when his wrister beat Halak for just his second goal of the season.
Biron stopped eight shots in the final frame and a late penalty to David Backes for cross-checking killed St. Louis’ hope for a comeback.
The Rangers host the Canadiens on Tuesday…St. Louis hosts Phoenix on Monday…New York improved to an NHL-best 15-7-1 on the road this season…St. Louis had won four straight against New York.