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.
Wisconsin business offering 'therapeutic cuddling' forced to close
Workers accuse National Zoo of animal mismanagement