The Avalanche, who have clinched a playoff berth, trail the Vegas Golden Knights by four points for first place in the West. Vegas defeated the Anaheim Ducks 5-1 on Saturday.
It was the second of a three-game series. Colorado won 4-2 on Thursday in its first game back from a COVID-19 pause, and the series concludes Monday.
"It was a hard-fought hockey game," Avalanche coach Jared Bednar said. "We took two or three dumb penalties tonight and they end up costing us. They scored the game-winning goal on the 5-on-3. We're in a tie game in the third period on the road. It's a good spot to be. We felt good about being there the way the second period went, and then the penalties killed us."
The Avalanche scored two goals in the opening 3:01 to take a 2-0 lead. Makar's power-play goal with a two-man advantage at 1:37 of the first period made it 1-0, and Gabriel Landeskog's goal at 3:01 made it 2-0.
"Obviously we jumped off to an early lead and I thought everybody was still rolling," Makar said.
The Blues then scored three straight goals. O'Reilly's first at 9:49 made it 2-1; it was his 600th NHL point. He tied it 2-2 at 12:40, and Ivan Barbashev gave the Blues a 3-2 lead at 17:48.
"Our guys did a great job," St. Louis coach Craig Berube said. "Get down quickly 2-0, but I thought that 'Binner' made a huge save at, I don't remember the exact time, and then we just responded. O'Reilly gets a goal and we're right back in it. Guys, they stayed positive on the bench. That's the key. I thought our team really inspired each other tonight to go get a win."