Mike Hoffman and Ivan Barbashev also scored for St. Louis and Jordan Binnington made 28 saves as the Blues snapped a three-game skid. St. Louis had lost five straight against the Avalanche since winning at Colorado on Jan. 13 in the season opener for both teams.
''It gives us belief and shows us that we can compete with these guys and beat these guys,'' O'Reilly said. ''It's hard work and it's the little details that do it.''
Nathan MacKinnon, Gabriel Landeskog and Cale Makar scored for Colorado. Devan Dubnyk made 25 saves as the Avalanche lost for just the second time in regulation since March 8, snapping a five-game winning streak.
''We have to be more disciplined,'' Avalanche coach Jared Bednar said. ''I believe our guys will bounce back. We did enough good things tonight that we probably could have won the hockey game but we left it to chance. We definitely don't want to do that come Monday.''
O'Reilly found the empty net for his third goal of the game and 20th of the season with 1:35 remaining. It was O'Reilly's second hat trick of the season and third of his career, all with St. Louis.
''He was excellent, obviously,'' Blues coach Craig Berube said. ''Three goals, but he brings the same work ethic every night. He happened to score three goals tonight.''
Hoffman put the Blues ahead when he scored his 14th goal of the season on a two-man advantage with 8:41 remaining in the third period.
''They're the so-called best team in the league, one of the best teams in the league,'' Hoffman said. ''It can get negative at times when things aren't maybe going your way, but you know, you've got to stick with it and be prepared for that next shift, next period, and I thought that was the mentality that we had tonight.''
Colorado had an early two-man advantage after Brayden Schenn took a high-sticking penalty 31 seconds into the game and Robert Bortuzzo was sent off 23 seconds later for roughing on a hit on Landeskog.
Makar scored during the 5-on-3, and Landeskog followed at 3:01.
O'Reilly scored his 18th and 19th goals of the season in the first period to tie it. O'Reilly's first goal was his 600th career point.
Barbashev put St. Louis on top 3-2 when he scored on his own rebound for his fourth goal of the season with 2:12 remaining in the opening period.
MacKinnon tied the game with his 18th goal of the season on a power play 8:10 into the second period.
''Special teams, they were good,'' Bednar said. ''Tonight was a 5-on-5 game. We let them back into it playing the track meet style and we left it to chance because we had those chances in the first period. Probably some of those best chances are the one we didn't score on in the first.''
Avalanche G Philipp Grubauer was removed from the COVID-19 list Friday. He was scratched from the lineup Saturday. Jonas Johansson dressed as Dubnyk's backup.
St. Louis dressed seven defensemen and 11 forwards. ... D Colton Parayko left the game with an upper-body injury in the first period and D Vince Dunn did not return after heading to the locker room with an undisclosed injury in the third period. ... Berube won his 100th regular-season game as St. Louis' coach.
St. Louis hosts Colorado again Monday night in a makeup of a contest originally scheduled for April 20 that was postponed due to COVID-19. It will be the third straight meeting between the teams.
More AP NHL: https://apnews.com/hub/NHL and https://twitter.com/AP-Sports
Copyright 2021 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.