The Blues ended a two-game skid and handed the Predators their first loss in three outings.
Vladimir Sobotka scored for St. Louis with 6:34 to go in the middle period, forging a 2-2 tie and ending the scoring until the shootout.
Nashville overcame a 1-0 deficit to take a brief lead in the second period on goals from Roman Josi and Wilson.
Halak made 25 saves to get the win. Pekka Rinne stopped 22-of-24 shots.
Jordana Brewster on Paul Walker: 'He was an enormous presence in my life'
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'