Colorado has won three in a row and four out of five. The three consecutive victories equal Colorado's longest winning streak of the season.
The Avalanche let a two-goal lead slip away, but McClement produced the winning goal with 5:53 to play in the second.
Jean-Sebastien Giguere was perfect the rest of the way and finished with 37 saves.
Brian Elliott, who came into the game leading the league in both goals-against and save percentage, gave up all three scores on 22 shots.
St. Louis has lost two out of three after winning four in a row.