"We needed a win. We didn't want to go into the break with three days off and losing six of the last seven games," Allen said. "If this would have been a loss, it would have been tough to go home, to be honest. It was a huge win for us to turn this ship around."
WATCH: [All Blues vs. Canucks highlights]
St. Louis was coming off a 3-2 loss to the Edmonton Oilers on Thursday when they gave up a 2-1 lead with 3:41 remaining in the third period, and the winning goal with 50 seconds left.
"It was devastating for us," Berglund said. "We had a meeting [Friday] and addressed a lot of things that wasn't good and we were basically talking that this game has to be really desperate and we just had to get this win."
Rookie Brock Boeser scored his 20th goal of the season, and Jacob Markstrom made 31 saves for the Canucks (15-17-5), who have lost four in a row and are 1-7-1 in their past nine games.
"Our compete level was good but we have to find ways to win games," Canucks forward Henrik Sedin said.
Berglund made it 1-0 on the Blues third shot, 11:17 into the first period, skating out of the corner to the blue line and back towards the slot before beating Markstrom with a fluttering backhand from between the top of the face-off circles.