Zetterberg, who also had an assist in the game, sent the contest into overtime with a goal with 56.67 seconds remaining in regulation.
The Red Wings were skating with an extra attacker after pulling goaltender Jimmy Howard. Zetterberg fired a shot at Blues goalie Chris Mason that deflected off a Blues player and over the line.
David Backes had a goal and an assist for the Blues. Roman Polak and Brad Boyes also scored.
Boyes' sixth goal of the season at the 8:32 of the third period staked St. Louis to a 3-2 lead.
Howard finished with 32 saves in the win. Mason had 33 saves.