The Flames stayed within three points of Chicago for the final playoff spot in the Western Conference. Calgary, however, has just three games left to play while the Blackhawks, who also won Friday, have five remaining.
Calgary overcame a two-goal deficit, with Iginla starting and finishing the rally.
Iginla scored on a backhander with 4:12 to go in the second period and Alex Tanguay tied it 8:01 into the third. Ignila's game-winning goal lifted his season total to 39, putting him in fourth place behind Anaheim's Corey Perry, Tampa Bay's Steven Stamkos and Vancouver's Daniel Sedin.
Miikka Kiprusoff earned the victory by stopping 25 shots. Jaroslav Halak made 22 saves for St. Louis, which had won three of its previous four games.
Iginla has accumulated his 1,000 points in 14 NHL seasons, all of them spent with Calgary. His season-high point total has been 98, produced during the 2007-08 campaign. He has 79 this season.