ST. LOUIS -- David Perron is picking his spots better than ever.
"He's always in the right spot at the right time," teammate Alex Pietrangelo said. "He's been capable at both ends of the ice more than I've ever seen him. He's shooting the puck better than he ever has."
Vince Dunn and Jordan Kyrou also scored for the Blues, who remained atop the Central Division with 48 points. The Avalanche stayed in second with 45. Ryan O'Reilly and Oskar Sundqvist each had two assists for the Blues.
St. Louis has won six consecutive games against Colorado and is 17-3-0 against the Avalanche in the last 20 games dating to April 5, 2011.
"I thought we played a pretty solid game against a tough team," St. Louis coach Craig Berube said. "I think our guys really get keyed up to play against (Nathan) MacKinnon and those guys. It seems like we kind of thrive on that stuff."
Blues goalie Jordan Binnington made 26 saves. It was Binnington's third consecutive victory, and he improved to 16-6-4 on the season.
Colorado goalie Philipp Grubauer made his first appearance since he suffered a lower-body injury Dec. 7 in Boston. He stopped 31 shots.
The Avalanche scored twice early in the second period for a 2-1 lead before St. Louis rallied.
"There was never a point to panic regardless of the situation," Perron said.
The Blues received a 4-minute power play late in the second period. Nazem Kadri was falling and his stick struck Colton Parayko in the face and drew blood. St. Louis scored goals 36 seconds apart to reclaim the lead at 3-2.
Perron made Colorado pay with his second goal when he snapped a wrist shot from the right circle over the shoulder of Grubauer at 18:47.
Dunn and Tyler Bozak worked a give-and-go for the next power-play goal. Dunn fed Bozak, who then hit Dunn rushing the net. Dunn pushed the puck into an open net just outside the crease at 19:23.
"That carries over to the third period for us," Dunn said. "I saw a hole there and I wanted to shoot, but I saw Bozak backdoor and then he made an unbelievable pass back to me."
It was a back breaker for Colorado.
"I think we lost the game in the those four minutes," Grubauer said. "I don’t think we got much after that. We dominated the second period after we kind of dodged a bullet in the first one and we’ve got to find a way to defend and kill that off and move on."
Colorado coach Jared Bednar agreed.
"It’s tough but you’ve got to reset. The game’s not over so we have to be better," Bednar said.
Perron was left wide open at the right side of the goal and buried one at 18:51 of the first period for a 1-0 lead. O'Reilly made a pinpoint pass across the ice to Perron, who easily scored.
Kyrou scored his first goal of the season and second in his career at 11:24 of the third period. Kyrou skated in and behind the goal and scored unassisted on a wraparound, easily beating Grubaurer.
Perron scored an empty-net goal at 16:05 for his hat trick. He has 15 goals this season.
The Blues improved to 8-0-4 when leading after the first period and 12-0-4 when leading after two periods this season.
Kadri, who was left alone, scored just 55 seconds into the second period to make it 1-1. Ryan Graves passed right on the tape of Kadri's stick and he scored his 11th goal from just outside the crease.
Mikko Rantanen scored a power-play goal at 9:35. Rantanen took a pass from Samuel Girard, who took a puck to the mouth in the first period, and smoked a slap shot by Binnington. Nathan MacKinnon got the second assist, which gives him a five-game point streak and 51 points for the season.
Blues F Ivan Barbashev (upper body injury) did not dress. He left Saturday's game against Chicago after the end of the second period. ... Blues C Robert Thomas played in his 100th NHL game. ... Neither Erik Johnson and Cale Makar made the trip for Colorado. Makar missed all three games of the Avs' recent homestand with an upper-body injury. Johnson has been out with a lower-body injury.
Avalanche: Play at Chicago on Wednesday night.
Blues: Host Edmonton on Wednesday night.
More AP NHL: https://apnews.com/NHL and https://twitter.com/AP-Sports