VANCOUVER -- Mike Santorelli scored the winner in the third and Eddie Lack made 29 saves Friday as the Vancouver Canucks snapped a five-game losing streak with a gutsy 2-1 victory over the St. Louis Blues.
Zac Dalpe had the other goal for Vancouver (24-13-9), which picked up its first win of 2014.
Alex Pietrangelo replied for St. Louis (31-8-5), which saw its seven-game winning streak come to an end.
Brian Elliott made 20 saves in taking the loss as the Blues failed to pick up at least a point on the road for the first time in nine games.
Santorelli snapped a 1-1 tie at 5:56 of the third following a demotion to the fourth line earlier in the game.
After Vancouver forward Dale Weise drove hard to the net, the puck popped out to Garrison in the high slot and his shot through traffic was deflected in by Santorelli for his 10th goal of the season.
Santorelli has been one of head coach John Tortorella's favourite players this season, but he was taken off the top line with the Sedin twins in the first period on Friday.
Lack then made a huge pad stop on Blues captain David Backes midway through the third to keep Vancouver ahead.
The Swedish netminder has started eight of the last nine games in place of injured Vancouver No. 1 goalie Roberto Luongo.
Vancouver has given up six goals when teams pull their goalie this season, but a late power play that killed valuable time helped the Canucks snap an 0-2-3 run after going 10-1-2 in December.
The Canucks currently hold down the first wildcard spot in the Western Conference, while the Blues still sit second in the conference and first in the Central Division.
After St. Louis carried most of the play in the first period, the Canucks scored just 91 seconds into the second when Dalpe tipped home his second of the season shortly after taking Santorelli's spot on Vancouver's first line.
Daniel Sedin swung a pass from behind the net to Henrik Sedin, who fired a low shot from the sideboards that was going wide before Dalpe, usually a fourth-liner, deflected it past a surprised Elliot moments after Lack stopped Blues forward Jaden Schwartz on a 3-on-1.
Dalpe and the Sedins were caught on an icing call later in the period, leading to the Blues' tying goal. On the ensuing faceoff, St. Louis controlled the puck and Jay Bouwmeester fed Pietrangelo, his defence partner and fellow Canadian Olympian, who wired a shot top corner past Lack for his seventh of the campaign. Blues forward Vladimir Tarasenko accented the play by letting Bouwmeester's pass go between his legs at the blue-line right to Pietrangelo.
St. Louis' third-ranked power play didn't even register a shot on the game's first man advantage against the Canucks' penalty kill, which sits tops in the league.
Vancouver then got a power play of its own, with Elliott having to be sharp on defenceman Yannick Weber's one-timer from the point.
The Blues then caught the Canucks on a bad change, but Lack snagged St. Louis forward Chris Stewart's effort on a partial breakaway.
The Blues were playing their second game in as many night after thumping the Flames 5-0 in Calgary on Thursday but had far more energy in the first period.
In a sign of things to come, Stewart had two shots off the rush three minutes in that Lack handled as the Blues jumped out of the gate quickly, outshooting the Canucks 8-1 in the game's first 10 minutes.
Canucks defenceman Dan Hamhuis got his team's second shot of the period with eight minutes to go as Elliott -- back between the pipes for the Blues after Jaroslav Halak's shutout on Thursday -- was rarely threatened.
Schwartz had the two best chances of the first, but Lack was there to shut the door as St. Louis held a 12-5 shot advantage heading to the locker-rooms.
Notes: The Canucks defeated the Blues 3-2 in overtime on Oct. 25 in St. Louis. Ryan Kesler had two goals in that one, including the winner. The teams play their final regular-season meeting Feb 26. back at Rogers Arena. ... The Canucks open a three-game road trip on Monday against the Los Angeles Kings. Vancouver visits the Anaheim Ducks on Wednesday before facing the Phoenix Coyotes the following night. ... The Blues open a three-game homestand against the Coyotes on Tuesday. ... Tortorella coached the 900th game of his career. ... Bouwmeester, the current NHL iron man, played his 680th straight game. Henrik Sedin is right behind after playing in his 675th straight game. Both Bouwmeester and Sedin have a long way to go to catch all-time iron man Doug Jarvis, who holds the NHL record with 964 straight games played.