Bratt got the puck from Dougie Hamilton for the breakaway and put the deciding goal past Jordan Binnington with a wrist shot.
The Blues scored three goals against Connor Hellebuyck in a span of 3:08 late in the third period to pull the game to a 4-4 tie.
Anthony Mantha had two goals and an assist for the Devils (11-5-0), who have won three straight and are 7-1-0 in their past eight games.
Bratt and Luke Hughes each had a goal and an assist, Jack Hughes and Brett Pesce each had two assists, and Hellebuyck made 28 saves in his fourth straight win since being acquired in a trade with the Winnipeg Jets on Oct. 23.
Philip Broberg and Mason McTavish each had a goal and an assist, and Binnington made 31 saves for the Blues (7-7-2), who have lost two straight (0-1-1).
McTavish picked up the rebound of Justin Barron's shot and scored from the slot to pull St. Louis within 4-2 at 11:46 of the third period.
Broberg then made it 4-3 on a wrist shot from the left face-off circle at 14:36, and Dalibor Dvorsky tied the game at 4-4 just 18 seconds later off a tip-in from the slot at 14:54 when Connor McMichael stole an attempted pass by Hellebuyck in the right circle.
Luke Hughes gave the Devils a 1-0 lead at 7:34 of the first period on a wrist shot from the top of the left face-off circle, extending his point streak to three games (two goals, two assists).
Mantha pushed it to 2-0 on a wrist shot down the slot after a give-and-go with Jack Hughes at 12:02 of the second period.
Robert Thomas pulled the Blues within 2-1 with a power-play goal on a snap shot at the right post at 16:04.
Jesper Boqvist responded with a wrist shot from the slot at 18:00 of the second for a 3-1 lead. Mantha scored again to extend the Devils' lead to 4-1 with a backhand on the breakaway 19 seconds later at 18:19.