Colaiacovo scored with less than 5 minutes remaining in the second period to put the Blues ahead 3-1 and Matt D'Agostini added an insurance goal in the final frame as the Blues beat the Flyers in their only meeting this season.
Kent Huskins and T.J. Oshie scored in the opening period, giving St. Louis a 2-0 lead, and Elliott came up big late in the game, repelling 16-of-17 Philadelphia tries down the stretch.
Philadelphia's Ilya Bryzgalov made 21 saves.
Ray Liotta sues skin care company over use of likeness
NBC reportedly holds celebs hostage to Jimmy Fallon's show