Dvorak broke a 3-3 tie with 6:18 left in the third period when he took a pass from Petr Cajanek and beat Chicago goalie Brian Boucher with a wrist shot from the left circle.
Martin Rucinsky also had a goal and assist for the Blues, who won their second straight.
Rucinsky, Jamie Rivers and Bill Guerin all scored power-play goals for the Blues, who had struggled in their first four games with the man advantage. Prior to Saturday, the Blues were 1-for-20 on the power play.
Martin Havlat, who was acquired from Ottawa in an off-season trade, continued his hot start with his new team by scoring two more goals. Havlat has six goals and 10 points.
Bryan Smolinski had the other goal for Chicago.
The Blues entered the third period with a 3-2 lead, but Havlat erased that when he came down on an odd-man rush, and fooled Manny Legace by wristing a shot towards the net rather than passing.
Havlat made it 1-0 early in the first period when Adrian Aucoin's shot from the point sailed over the net and bounced back over the goal in front. Legace tried to slap it away, but Havlat got the puck and slid a backhander into the net.
Just 52 seconds later, Chicago was shorthanded, but Smolinski got the puck off a giveaway and skated in alone on Legace. He beat the goalie with a high wrist shot to make it 2-0.
Rivers got the Blues back in it at 17:27 of the period when he scored on a one-timer.
Guerin then tied it at 1:28 of the second when he converted a centring pass from Tkachuk. Rucinsky gave the Blues a 3-2 advantage at 10:43 of the second when he beat Boucher with a wrist shot from the high slot.
Notes: The Blues and Blackhawks will meet seven more times this season. ... Smolinski's goal was his 250th. ... Boucher was seeing his first action, as Nikolai Khabibulin had started Chicago's first three games. ... Chicago has scored 18 goals in its first four games.