Mikko Rantanen also scored twice and Gabriel Landeskog had three assists to help the Avalanche win their third straight to move into the first wild card spot in the Western Conference, one point ahead of idle Dallas -- and five ahead of St. Louis. The Avalanche, who won 10 in a row from Dec. 29-Jan. 22, are 6-0-3 in their last nine games.
"Right now every point matters, every point counts," Varlamov said. "Every game is like a playoff for us. This feels great just to be part of this."
Colorado finished with an NHL-worst 48 points last year, which makes this year's turnaround even more enjoyable.
"That's a playoff-type game, as close as you get to the playoffs without getting in there," Colorado coach Jared Bednar said. "Our guys played with great urgency, commitment and intensity. You play like that -- good things will happen to you."
Joel Edmundson scored for St. Louis, and Jake Allen finished with 19 saves. The Blues were coming off road wins at Los Angeles and Anaheim, but couldn't keep the momentum going at home where they fell to 20-15-0.
"We definitely haven't played our best at home," Allen said.
The Blues are now on the outside looking in as far as the playoff chase is concerned.
"Absolutely we have lots of time, lots of hockey left to be played," St. Louis center Brayden Schenn said. "Obviously we're going to need some help, but we have to do our part and get the wins."
MacKinnon scored twice in a span of 2:53 in the first period to give Colorado a 2-0 lead with just under seven minutes remaining. He has 11 goals and 13 assists in 13 games since returning from a shoulder injury on Feb. 18.
MacKinnon, who leads the team with 35 goals, had his 24 multipoint game, the most by a Colorado player since Joe Sakic posted 28 in the 2006-07 season.
"He's playing great, one of the best players in the league right now," Rantanen said. "Speed is his thing. It's fun to watch."