VANCOUVER -- Kyle Brodziak had a goal and an assist, Jake Allen made 30 saves, and the St. Louis Blues defeated the Vancouver Canucks 3-1 at Rogers Arena on Saturday.
Patrik Berglund and Alexander Steen scored for the Blues (23-13-2), who ended a three-game losing streak with their second win in the past seven games (2-5-0).
"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.
Video: STL@VAN: Berglund opens scoring with backhander
Brodziak broke a 1-1 tie with 1:30 left in the second period on a shot from just above the goal line in the corner that found a hole between the pad, glove and post on Markstrom.
Video: STL@VAN: Brodziak scores from near the goal line
"It's two goals I want back, especially at this time," Markstrom said. "When it rains, it pours for us. We're back playing a better game than we have the last couple weeks here, but we've got to take this Christmas break and come back a refreshed team."
Steen scored into an empty net with 53 seconds remaining in the third period for a 3-1 lead.
Allen stopped 13 shots in the third period, including two tough shots from Boeser off the rush.
Video: STL@VAN: Allen stops Virtanen's wrister in the 2nd
"He was in a zone just the way he was tracking pucks," Brodziak said.
Markstrom stopped Steen on a breakaway 1:27 into the second period, and Boeser tied it 1-1 19 seconds later. Sam Gagner set up Thomas Vanek in the low slot, but instead of shooting, Vanek waited for Allen to challenge before passing to Boeser, who was left with an empty net to become the fastest Canucks rookie (34 games) to score 20 goals.
Pavel Bure scored 20 goals in 49 games in 1991-92.
"It means a lot, but it's obviously a lot better if we're getting the results we want," Boeser said. "It's a tough stretch right now. This break will be nice to regroup for a few days."
Goal of the game
Boeser's goal after a pretty passing play 1:46 into the second period.
Video: STL@VAN: Boeser finishes Vanek's awesome dish
Save of the game
Allen's save on Boeser with 9:16 left in the third period.
Video: STL@VAN: Allen shrugs aside Boeser's rising shot
Highlight of the game
Markstrom's saves on Joel Edmundson and Vladimir Tarasenko (twice), beginning at 8:40 of the third.
Video: STL@VAN: Markstrom denies multiple shots in the 3rd
They said it
"We're in one of those spells right now where we're having trouble scoring, but I think we know as a group, when it's going like that, we've got to tighten up defensively, give ourselves a chance to win and slowly we'll start building our confidence back." -- Blues forward Kyle Brodziak after the team scored more than two goals for the first time in seven games
"I thought he was brilliant in the third. I thought he had a couple that he'd like to have back. He's played really well at times this year. He's fighting that one goal here and there." -- Canucks coach Travis Green on goalie Jacob Markstrom
Need to know
Berglund moved from third-line center to top-line left wing with Tarasenko and Brayden Schenn. … St Louis defenseman Carl Gunnarsson returned after missing one game with an upper-body injury. … The Canucks dressed seven defensemen, putting Ben Hutton in the lineup after being a healthy scratch for the first time in his NHL career the previous two games. … St. Louis improved to 19-0-0 when leading after 40 minutes.
Blues: Host the Nashville Predators on Wednesday (8 p.m. ET; FS-MW, FS-TN, NHL.TV)
Canucks: Host the Chicago Blackhawks on Thursday (10 p.m. ET; SN360, SNE, SNO, SNP, NHL.TV)
Video: Brodziak notches two points as Blues down Canucks