Kasperi Kapanen took a pass from Brayden Schenn to score his 15th goal of the season for St. Louis, which has won two in a row. Tyler Pitlick and Alexey Toropchenko also scored, and Jordan Binnington made 21 saves.
Vincent Trocheck tied it at 2 for the Rangers with 2:03 remaining in regulation on a power play and Jaroslav Halak pulled for an extra attacker.
Tarasenko scored his 18th on a power play when he buried Mika Zibanejad’s rebound 1:55 into the third to tie it.
Pitlick batted a loose puck in the crease past Halak for his seventh of the season 10:13 into the third period to give St. Louis a 2-1 lead.