Edgars Kulda, Travis Ewanyk and Mitchell Moroz also scored for the Oil Kings (9-3-3), who extended their winning streak to four games.
Marek Tvrdon had the lone goal for the Giants (3-10-0).
Tristan Jarry made 29 saves for the win as Liam Liston stopped 26 shots in a losing cause.
Foster opened up the scoring for the Oil Kings at 5:28 of the first period, kicking a left-wing feed from St. Croix up to his stick and firing it glove side past Liston.
Ewanyk doubled Edmonton's lead with 27 seconds remaining in the first after swatting a bouncing puck out of mid-air just outside Liston's crease.
Vancouver cut the Oil Kings' lead in half on the power play at 13:46 of the second when Tvrdon ripped a cross-ice feed from Carter Popoff through the five-hole of Jarry.
The goal extended Tvrdon's scoring streak to eight games, which includes five goals and 12 points.
Kulda restored the two-goal margin for Edmonton at 3:37 of the third, finishing a breakaway pass from Cody Corbett into the top corner.
Moroz and St. Croix added two more goals late in the period.
Edmonton went 0-for-5 on the power play while Vancouver scored once on five chances with the man advantage.
The victory marked just the second time in 11 meetings the Oil Kings have defeated Vancouver since Edmonton's return to the WHL in 2007.