Robertson also tallied an assist, Wyatt Johnston scored his League-leading 17th power-play goal and added an assist, Roope Hintz had two assists, and Jake Oettinger made 19 saves for the Stars (29-14-9), who have just four wins in the past 15 games (4-7-4).
Pavel Buchnevich had a goal and an assist, Dalibor Dvorsky scored, and Jordan Binnington made 16 saves for the Blues (19-24-8), who have just two wins in their past eight games (2-6-0) and have lost their past three.
With the game tied 2-2, Robertson scored the game-winning goal at 19:00 of the third period when he got the pass from Hintz off the face-off at the left circle and went glove side on Binnington with a snap shot.
Johnston gave the Stars a 1-0 lead with a power-play goal at 5:41 of the first period when he banged home the rebound of a Mikko Rantanen shot from the point in the slot.
Dvorsky tied it 1-1 at 11:30 with a one-timer from the top of the right face-off circle on the power play.
Buchnevich gets Jake Neighbours' feed and slaps it past Oettinger from the top of the right face-off dot to put the Blues up 2-1 at 4:04 of the second period.
Duchene gets Johnston's pass and blasts in a snap shot from the left circle on the power play to even the score 2-2 at 7:44.
Stars defenseman Ilya Lyubushkin left the game after the second period due to a lower-body injury.