CALGARY -- David Perron scored his first three goals of the season to help the St. Louis Blues to a 6-4 win against the Calgary Flames at Scotiabank Saddledome on Saturday.
Paul Stastny, Patrik Berglund and Alexander Steen scored and Jake Allen made 23 saves for the Blues (4-1-1).
"It's kind of building up," Perron said. "I think the entire year I feel like I've played some good hockey. 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."
Kris Versteeg had two goals, and Micheal Ferland and Mark Giordano each scored for the Flames. Calgary has one win in six games to start the season (1-4-1).
"We're going to have to be better next game," Versteeg said. "It's about puck management for us. We're a growing team, learning new things. But we're going to get better."
Perron tied the game 2-2 at 6:22 of the second period with the first of four consecutive goals from St. Louis.
"He's the reason basically we won, but I think more importantly it's good for his confidence," Stastny said. "As a team, we saw it coming for the last couple games, which is good."
Video: STL@CGY: Stastny tips home power-play goal
Stastny gave the Blues a 3-2 lead at 12:08, and Berglund scored at 18:16 on a setup by Nail Yakupov.
Perron completed the hat trick at 6:50 of the third.
Giordano scored at 9:31, and Versteeg one-timed his second of the game through a screen to make it 5-4 at 15:06, but Steen scored into an empty net with 39 seconds remaining.
Perron scored his first at 6:04 to put St. Louis up 1-0.
Versteeg and Ferland scored 35 seconds apart early in the second period to put Calgary up 2-1. Versteeg one-timed a pass by Allen at 2:21. Ferland shot a backhand from 32 feet that skipped by Allen's glove and between his legs at 2:56.
Johnson made 34 saves.
"He gave us a chance," Flames coach Glen Gulutzan said. "He made some saves. We hung him (out) to dry. It's pretty simple."
Video: STL@CGY: Fabbri sets up Perron on a power play
Goal of the game
Perron intercepted a pass from Flames defenseman Dougie Hamilton in the neutral zone and worked a quick give-and-go with Vladimir Tarasenko before lifting a backhand shot over Johnson to make it 5-2. "That is, I guess, a little bit of a signature move for me," Perron said. "I was going to end up going backhand in a lot of goals in shootout and stuff like that. I'm glad it worked again."
Video: STL@CGY: Perron nets beautiful goal for hat trick
Save of the game
Allen reached back to pull the puck off the goal line after Johnny Gaudreau's shot snuck behind him with 7:31 remaining.
Video: STL@CGY: Allen reaches back to grab loose puck
Unsung moment of the game
Stastny blocked Gaudreau's shot, then intercepted Sean Monahan's pass to allow Jay Bouwmeester to clear the puck out of the zone with St. Louis leading 5-3 at 13:48 of the third. "It was a good win," Stastny said. "We were down early and then we came back and then we kind of held on at the end."
Highlight of the game
Berglund tapped a cross-crease pass past Johnson on Yakupov's setup. Yakupov took a pass at the Flames blue line and stickhandled around Giordano before outwaiting a diving Dennis Wideman to make the pass across to Berglund.
Video: STL@CGY: Yakupov finds Berglund with nice set up
They said it
"He's been playing good for us. Once Jori (Lehtera) went down and once he's been playing on the top two lines, I think he's been getting comfortable and starting to make plays. The last couple games, he's had a ton of chances." -- Blues forward Paul Stastny on David Perron
"We didn't manage the puck, we didn't make plays. You can't do that against a team like [the Blues], who [showed] tonight are a very good hockey club." -- Flames coach Glen Gulutzan
"Every team is so good now. We focus on ourselves the most. It's nice to see their guys and the makeup of their team. Recently we haven't been scoring as many goals as we've wanted. We found that tonight. It was good. We've just got to keep the foot on the gas and not ease up. Maybe we did. It's probably good for Tuesday that they came back. It's going to keep making sure we're on our best game." -- Blues forward David Perron
Video: STL@CGY: Versteeg scores off Brouwer's feed
Need to know
Calgary is 1-for-25 this season on the power play and hasn't scored in 22 consecutive opportunities. The Flames have given up five power-play goals in the past three games. … Goaltender Brian Elliott, who spent five seasons with St. Louis before being acquired by the Flames on June 24, backed up Johnson. … Matthew Tkachuk, the No. 6 pick in the 2016 NHL Draft, was a healthy scratch for the Flames. … Blues defenseman Carl Gunnarsson returned to the lineup after missing two games because of an upper-body injury.
Blues: Home against the Flames on Tuesday (8 p.m. ET; FS-MW, SNF, NHL.TV).
Flames: At the Chicago Blackhawks on Monday (8:30 p.m. ET; TVAS, NHLN-US, CSN-CH, NHL.TV).
Video: Perron nets hat trick as Blues top Flames, 6-4