Sharangovich tied it 3-3 at 9:08 of the third period when he converted Hischier's saucer pass, and Hischier scored for the third straight game at 11:34 after a cross-ice pass from Subban to give the Devils a 4-3 lead.
Vesey scored at 17:41 with a backhand from the slot to make it 5-3.
"A little bit of the cliches, but we played the right way, we did the right things at the right times to make ourselves successful and the opportunities we got, we scored on, and that's the difference," Devils defenseman Damon Severson said. "When you're burying your opportunities, that's the key. There were some shot blocks, some guys taking hits to make plays. A lot of good commitment tonight from our team.
"That's a real good veteran team over there. We knew they were going to be solid against us tonight, and we really needed to bear down. I thought our guys skated well tonight. That was another key thing for sure."
Schenn cut it to 5-4 at 18:17, but Jesper Boqvist (18:41) and Hischer (19:50) each scored an empty-net goal for the 7-4 final.
It was the Blues' first game since the NHL All-Star break; they lost 4-1 to the Winnipeg Jets on Jan. 29.
"In the third period, the game was under control until they tied it up and then I thought that we lost our confidence there and just kind of fell apart," St. Louis coach Craig Berube said. "We've been off a long time, that could've been part of it. We'll look at the thing tomorrow and get ready for Saturday (against the Chicago Blackhawks)."
Subban scored at 2:12 of the first period with a one-timer from the high slot after a turnover by Justin Faulk to give the Devils a 1-0 lead.
Michael McLeod made it 2-0 at 15:07 on a delayed penalty, but Klim Kostin cut it to 2-1 at 15:37 on a one-timer from the left circle. It was Kostin's first goal in 30 games.