CALGARY — David Perron had nothing to show for his hard work during the first five games of the NHL season with the St. Louis Blues.

That all changed on Saturday night as he 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.

"I think the entire year I feel like I've played some good hockey," said Perron, who signed as a free agent with the Blues in the off-season. "It didn't materialize into points or goals, but tonight it did. I'm glad it did.

"I've got to keep working hard. I was just staying in the moment and concentrating on making sure the next shift was going to be a good one and it was a good one tonight."

Teammate Paul Stastny had no doubt that Perron was on the verge of a breakout game.

"He's the reason basically we won, but I think more importantly it's good for his confidence," said Stastny, who scored his third goal of the season in the second period. "As a team, we saw it coming for the last couple games, which is good."

Alexander Steen had a goal and an assist for the Blues (4-1-1), Patrik Berglund also scored, while defenceman Alex Pietrangelo had two assists.

St. Louis goalie Jake Allen made 23 saves to improve his record to 3-1-1.

Kris Versteeg scored his first two goals of the season for the Flames (1-4-1), who lost their second straight home game at the Scotiabank Saddledome.

"We're working hard, we're just not working smart if we're going to be blatantly honest," said Versteeg, who's confident the Flames can bounce back with a better effort on Monday in Chicago against the Blackhawks.

"We're going to have to be better next game. It's about puck management for us. We're a growing team, learning new things. But, we're going to get better."

Micheal Ferland and Mark Giordano also scored, while netminder Chad Johnson stopped 34 shots in the Calgary net.

"I thought he gave us a chance and made some saves," said Calgary coach Glen Gulutzan of Johnson. "We hung him out to dry, pretty simple."

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.

Calgary took a 2-1 lead thanks to two quick goals early in the second period by Versteeg and Ferland. After Versteeg converted a feed from Troy Brouwer at 2:21, Ferland backhanded a harmless-looking shot on net 35 seconds later that squeezed under Allen's glove and into the net.

After Perron flipped his own rebound up and over Johnson's pad at 6:22, Stastny put St. Louis back ahead at 12:08 during another power play for the Blues when he tipped Steen's slap shot past the Flames goalie.

Berglund was the beneficiary of a nice set-up by Nail Yakupov for an easy tap-in goal with 1:44 left in the second as the Blues doubled their lead to 4-2.

The 28-year-old left winger then finished off his hat trick at 6:50 of the third period 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.

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 at 15:06 to pull the Flames within a goal.

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

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 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.