It was the third shutout of the campaign for Halak and the 28th in his eighth NHL seasons.
The Blues won their seventh in a row, the longest active streak in the NHL and one that has lifted them into a tie with Chicago for the lead in the Central Division.
Chris Stewart and Vladimir Sobotka ignited the St. Louis offense with first-period goals and Ian Cole scored in the second stanza.
St. Louis then picked up a pair of power-play goals during the opening 3:32 of the third period from Alex Pietrangelo and Vladimir Tarasenko.
All five goals came against Kari Ramo on 29 shots.
Calgary has given up 42 more goals than it has scored this season, tying Edmonton for the worst goal differential in the Western Conference.