Ian Cole scored his first goal in nearly two years as the Blues had their five-game winning streak halted. David Backes and Jaden Schwartz also scored for St. Louis.
Antti Niemi stopped 21 of 24 shots for his 14th win of the season. Brian Elliott took the loss, his first in eight games, after giving up four goals on 12 shots. He was lifted for Jaroslav Halak, who had 18 saves.
Joe Pavelski gave Burns the puck and then screened off Halak. Burns skated between two defenders and shot.
"The final goal, seemed to say, OK, I'm going to do something here," Burns said. "It's just a black-out kind of a thing. Good play by Joe, I got in the zone. Quick shot. I don't really remember what happened."
The Blues, who earned points in their previous nine games, were off to their best road start in franchise history, bringing a 7-2-1 mark into the game.
"It looked like we needed to set a few more alarm clocks this morning," Backes said. "No matter what happened, we needed to have a better response. They punched us in the mouth in the first period."
Burns scored 35 seconds into the game, taking a nice pass from Patrick Marleau and flipping the puck over Elliott's right shoulder. Logan Couture, who has not scored a goal in seven straight, started the sequence after intercepting a clearing pass.
Thornton scored a power-play goal at 3:01, the first allowed by the Blues in six games and just the second on the road. Couture took a shot that bounced off Elliott's pad and Pavelski flipped it out to Thornton, who beat Elliott to the glove side.
Burns scored his second goal of the game at 9:14 of the first, set up with a pass from Thornton.
"A big night for him," Sharks coach Todd McLellan said. "He had a lot of energy early. It looks like he's getting back into where he was before. His minutes went up, he got back out on the power play. So, I'm more confident. He can shoot the puck, and his big body was needed against a strong team."