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.
Dennis Rodman pledges to end trips to North Korea
Interpol investigating stolen passports on missing flight