David Perron scored his first three goals of the season and added an assist to lead the St. Louis Blues to a 6-4 win over the Calgary Flames on Saturday night.

Paul Stastny, Patrik Berglund and Alexander Steen also scored for the Blues, while defenseman Alex Pietrangelo had two assists. Jake Allen made 23 saves to improve to 3-1-1.

Kris Versteeg scored his first two goals of the season for the Flames, who lost their second straight at home. Micheal Ferland and Mark Giordano also scored, while Chad Johnson stopped 34 shots.

Calgary took a 2-1 just 3 minutes into the second thanks to two quick goals by Versteeg and Ferland.

The Blues then scored the next four goals, including two by Perron, to take control.

Perron tied it as he flipped his own rebound up and over Johnson's pad at 6:22. Stastny put St. Louis back ahead with just under eight minutes to go in the period during another power play when he tipped Steen's slap shot past Johnson.

Berglund was the beneficiary of a nice setup by Nail Yakupov for an easy tap-in goal with 1:44 left in the second.

Perron then finished off his hat trick at 6:50 of the third when he took a breakaway pass from Vladimir Tarasenko and made a couple quick moves before lifting a backhand shot over Johnson's right pad to make it 5-2.

Giordano fired a slap shot from the high slot past Allen at 9:31 of the third before Versteeg's point shot through traffic got past the St. Louis goalie with just under five minutes to go to pull the Flames within one.

Steen then scored into an empty net with 39 seconds left to seal the victory.

Allen had to be sharp to get a shoulder on a point shot fired his way by defenseman Deryk Engelland early in the game. At the other end of the ice, Johnson stood his ground to stop a puck that was redirected on net by Kyle Brodziak.

Perron opened the scoring for St. Louis at 6:04 of the first period with a power-play goal when he tapped a nice pass from Robby Fabbri past Johnson.

Versteeg converted a feed from Troy Brouwer at 2:21 of the second to tie the score. Ferland backhanded a harmless-looking shot on net 35 seconds later that squeezed under Allen's glove and into the net to put the Flames ahead.

NOTES: Flames D Dennis Wideman returned to the lineup after sitting out the past three games as a healthy scratch and had two assists in his return. ... C Freddie Hamilton made his season debut for the Flames in place of rookie LW Matthew Tkachuk. Freddie, the older brother of D Dougie Hamilton, now has 34 games of NHL experience, five of them with the Flames. Dougie Hamilton has played in 266 NHL games, 88 with the Flames. ... Blues LW Jaden Schwartz played in his second straight game after missing the first four contests with an elbow injury

UP NEXT

Blues: Host Calgary on Tuesday night in the opener of a three-game homestand.

Flames: At Chicago on Monday night.