David Musil, Travis Ewanyk and Curtis Lazar also scored for the Oil Kings (42-12-4), who trailed 2-0 after 20 minutes of play before scoring five unanswered goals, while Cody Corbett chipped in with two assists.
Steven Hodges and Jamie Crooks scored for the Royals (32-22-5), who have now lost four games in a row.
Laurent Brossoit made 17 saves for the win as Coleman Vollrath picked up the loss after allowing five goals on 37 shots. Michael Herringer replaced Vollrath in the third period and stopped the only shot he faced in 13 minutes of relief.
Edmonton went 1 for 5 on the power play while Victoria failed to score on three chances with the man advantage.
Crooks opened the scoring for the Royals as he slid a backhand behind Brossoit at 7:09 of the first period.
After Brossoit stopped a second breakaway off the stick of Mitch Deacon, another Edmonton turnover led to Hodges scoring at 15:21 to put Victoria up by two.
Ewanyk clawed Edmonton back within one on the power play at 8:49 of the second, jamming a loose puck through the five-hole of Vollrath.
St. Croix tied the game at 13:51, roofing a one-time feed from behind the net by Trevor Cheek.
Just 37 seconds later, Musil stepped up from the blue line and picked the blocker-side corner to give the Oil Kings a 3-2 lead heading into the third period.
Lazar tapped in a back-door feed from Martin Gernat at 5:35 of the third and barely a minute later St. Croix stole the puck in the slot and rifled it home to make it 5-2.