With Blues forward Bill Guerin off for slashing, Iginla got the puck from Robyn Regehr and moved from the right boards into the circle. He put a wrist shot past goalie Manny Legace, who was screened by Calgary centre Daymond Langkow, for his 12th goal.
Matthew Lombardi and Byron Ritchie also scored and Miikka Kiprusoff made 28 saves for the Flames, who snapped a four-game losing skid. Calgary, beaten in Columbus on Friday night, has won twice in nine games.
Guerin scored his team-leading seventh goal, and Keith Tkachuk had the other goal for St. Louis.
The Flames got on the board six minutes in when Alex Tanguay broke in on right wing and fed a pass into the slot to Lombardi, who backhanded it into the net. Ritchie made it 2-0 at 11:19 of the first when he redirected Andrew Ference's centring pass by Legace.
Guerin got the Blues back in it when he scored off a scramble in the slot at 14:58 of the first period to make it 2-1. Tkachuk tied it 1:54 into the second with a power-play goal.
Notes: In 13 games with the Blues, Guerin is more than halfway to his goal total of last season (13) with Dallas. ... Calgary went 1-2 on its three-game road trip. ... Tkachuk extended his scoring streak to four games. He has six points in those contests.