It was the first game for each team since Jan. 18.
"They got a good team, obviously been good here in this building," Allen said. "Our game built as the game went on; it got better, we possessed the puck well and we spent a lot of time in their zone. We had some chances, but it definitely wasn't our sharpest executing game."
Sanford gave St. Louis a 1-0 lead on a delayed penalty at 3:06 of the first period. The Blues were 21-0-6 when scoring first this season.
But Miller scored twice in the second period. He tied it with a spinning wrist shot from between the face-off circles at 2:16 to make it 1-1, then gave the Canucks a 2-1 lead with a one-timer from inside the right face-off dot to finish a 3-on-2 rush with Elias Pettersson and Virtanen.
"It wasn't that pretty of a game; sometimes there's breakdowns," said Miller, who has 48 points (19 goals, 29 assists) in 50 games, exceeding his point total (47) in 75 games with the Tampa Bay Lightning last season. "Fortunately, it was on my stick. I got a couple of lucky bounces."
Demko, who made his second straight start and fourth in the past 20 games, sprawled to make a save against St. Louis forward Jaden Schwartz on a backdoor pass off a 2-on-1 rush with 6:31 left in the third period.
"[Schwartz] would love to have that one back," said Blues center Brayden Schenn, who made the pass. "He scores those nine times out of 10. We had plenty of chances and at the end of the day, their goalie played good tonight and made some saves."
Demko received some help from his teammates; the Canucks blocked 23 shots, including 10 in the third period.
"They had a little bit more zone time. I thought our guys handled it really well," Demko said. "The amount of blocks was pretty crazy. Guys are winding up with slap shots and one-timers and guys are going down. Huge kudos to those guys."
Bo Horvat scored an empty-net goal with one second remaining for the 3-1 final.
The Blues entered with the top road power play (29 percent) in the NHL but went 0-for-3.
"We created a lot of good chances," St. Louis coach Craig Berube said. "We've got to bury a couple. The goalie played well, but we can shoot the puck a little better and capitalize on some chances."