The defeat could prove costly for the Avalanche. Top-line winger Mikko Rantanen exited the game with a left leg injury in the second period, and he needed help getting back to the Colorado dressing room.
Nathan MacKinnon scored for the Avalanche, who had opened their season 7-0-1 for the best eight-game start in franchise history.
MacKinnon extended his season-opening scoring streak to nine games (five goals, seven assists). He became the fifth player in NHL history to start with a point streak of at least nine games in consecutive seasons, joining Wayne Gretzky, Charlie Simmer, Guy LaFleur and Rod Gilbert.
Rantanen assisted on MacKinnon's goal. He has five goals and seven assists this season.
Avalanche goaltender Philipp Grubauer stopped 22 of 25 shots.
The Blues scored first by converting a power-play midway through the first period. Schenn took a pass from Vince Dunn atop the right circle and buried a snap shot.
Schenn has six goals in nine games this season. He didn't score his sixth goal last season until his 22nd game.
The Avalanche tied the game 1-1 with a power play of their own, exploiting a brief five-on-three advantage. With Gabriel Landeskog setting a screen in front of the net, MacKinnon rifled the puck past Binnington at 12:38 of the opening period.
With a delayed penalty called against the Avalanche five minutes into the second period, the Blues set up six-on-five in the Colorado zone. Perron converted Tarasenko's pass into the slot to put the Blues up 2-1.
Tarasenko made it 3-1 with his sharp-angle goal at 15:06 of the second period. Jaden Schwartz threw the puck behind the net, and it caromed out the other side to Tarasenko, whose shot along the goal line somehow bled through Grubauer.
--Field Level Media