Steen's goal on the rebound of a Jason Arnott drive with less than 2 minutes left in the opening frame tied the score 1-1.
St. Louis then followed up with consecutive second-period tallies by Kevin Shattenkirk and Alex Pietrangelo to open a 3-1 advantage.
Chris Stewart and Arnott added goals in the final frame for the Blues, who logged their first win of the year after dropping their season opener to Nashville.
Jaroslav Halak only had to face 17 Calgary shots, stopping 15 of them.
Curtis Glencross and Jarome Iginla scored for the Flames, who lost their second straight to start the season.
Henrik Karlsson let in all five St. Louis goals on 35 shots.