Chris Stewart tallied twice and Jake Allen stopped 39 shots as St. Louis downed San Jose, 4-2, at Scottrade Center.
David Perron and Chris Porter added second-period tallies for the Blues, who have won three of their last four.
Allen, who ran his record to 6-1-0, picked up his first home win this season.
"We played with a lot of heart tonight and it was nice to see," said St. Louis head coach Ken Hitchcock. "The first period was one of the best we played this season."
Dan Boyle and Brent Burns scored for the Sharks, who lost their fourth straight game.
"It's nice to score but it's nicer to win," said Burns. "We put a lot of shots on them, but their guy was great tonight. Sometimes you run into a hot goaltender and that's the way it goes."
Antti Niemi took the loss, after making only 17 saves.
San Jose closed its gap to 3-2 with 6:28 left in regulation only four seconds into a 5-on-3 advantage, as Boyle's shot from the left circle was deflected over Allen's glove and into the net
The Sharks couldn't convert the 5-on-4, and Stewart added an empty netter with 1:16 remaining to seal it.
Stewart's wrister from the right circle off a rush gave the hosts a lead with 6:18 to play in the opening period.
It was 2-0 for the hosts just after the midway point of regulation, when Perron beat Niemi with the redirection of a Patrik Berglund cross-ice pass.
Burns notched his first of the season just 62 seconds later on a one-timer from below the circles, but Porter's strike with seven seconds to play before intermission gave the Blues their two-goal edge back.
Stewart posted his first multi-goal effort since a 6-0 win over Detroit in St. Louis' season opener on Jan. 19 ... The Blues have beaten the Sharks in six of the last seven meetings ... Blues forward T.J. Oshie left the game in the second period and did not return, with an upper-body injury suffered when Sharks forward Ryane Clowe collided with him at the end boards ... Burns' tally was his first since Mar. 24, 2012.