VANCOUVER -- Vancouver Canucks coach John Tortorella wasn't worried about his struggling team putting together a masterpiece against the Calgary Flames on Saturday night.

All Tortorella wanted was two points. Thanks to a couple of unlikely scorers, he got them.

After falling behind on Brian McGrattan's goal from center ice, fourth-line forward Darren Archibald tied the game with his first NHL goal early in the second period and defenseman Yannick Weber scored the go-ahead goal five minutes into the third to lead the Canucks to a 2-1 win at Rogers Arena.

"Certainly not a thing of beauty, but it's the type of goals we talk about manufacturing, and that's important," Tortorella said. "I'm not going to sit here and dissect it; we found a way to grab two points. We have to scratch, claw and grind and find points anyway possible."

It was the second win in 13 games for the Canucks, who remained four points behind the Dallas Stars in the race for the final Western Conference wild-card berth in the Stanley Cup Playoffs. Coming in after a 12-game stretch in which they went 1-10-1, Tortorella didn't care that this win wasn't poetic.

After managing eight shots in the first two periods, Vancouver came out with more jump in the third, creating a couple of excellent scoring chances before Weber finally scored on the fourth shot. Shawn Matthias, playing his second game since being acquired in the trade that sent No.1 goalie Roberto Luongo to the Florida Panthers, took the puck hard to the net on his backhand, and Weber pinched down from the point to jam in the rebound for his third goal this season.

"Maybe it wasn't the prettiest goal, but that's how we have to get out of our slump," Weber said. "We played a gritty game and got some ugly goals, and that's the way we have to play."

Canucks goalie Eddie Lack bounced back to make a couple of great saves late in the game after he allowed McGrattan's goal from center ice early in the second period. The rookie finished with 22 stops for his first win since Luongo was traded and he became the No. 1 goalie.

"It skipped in front of me," Lack said. "It doesn't really matter how goals go in. You just want to make sure it's not the game-winner."

It helped when Archibald tied the game a few minutes later. Lack then erased any doubts about his composure by sprawling to rob Joe Colborne of a backdoor tap-in on a 2-on-1 midway through the period.

"I am just telling myself to get going again, try to focus on the next save, and the guys got a goal really quick, and that took the pressure off," Lack said. "It was important for me to get back into focus and not think about it, and that 2-on-1 helped me a lot mentally."

Vancouver, which had scored nine goals in its previous nine games, registered 14 shots on goal against the Flames, who blocked 17 in the first period and 32 overall. Despite their offensive woes continuing, the win allowed the Canucks to leapfrog the Winnipeg Jets into 10th place in the West and move one point behind the Phoenix Coyotes.

Rookie Joni Ortio finished with 12 saves for the Flames, who were coming off a 4-3 win against the New York Islanders on Friday and trying to win three straight for the second time this season.

"It was a muck-and-grind game," McGrattan said. "A lot of sloppy plays at both ends, the puck was bouncing everywhere. Those are good tests to see what you're made of."

McGrattan opened the scoring 2:13 into the second period with a shot from center ice that skipped in front of Lack and bounced in between the goalie's blocker and arm. It was McGrattan's second goal of the season and the eighth of his eight-year NHL career.

"Just wanted to throw one on net," McGrattan said. "I was at the end of my shift, and fortunately it went in."

Called up from the Utica Comets of the American Hockey League earlier in the week and playing his 14th NHL game, Archibald tied the game 3:32 later. He brought the puck to the net from behind the goal line and knocked a rebound past a sprawling Ortio with three Canucks around the crease on the ensuing scramble.

"That's part of my game," Archibald said. "I kind of won a battle and stuffed it from behind the net and pitchforked it in."

The game opened up early in the third period.

Ortio robbed Chris Higgins on a point-blank chance in front and turned away another good chance for Ryan Kesler. At the other end, Lance Bouma had an empty net as the trailer on an odd-man rush but hit the post from a sharp angle before Weber put the Canucks ahead two minutes later.

"Tight-checking game," Calgary coach Bob Hartley said. "There was not much room on both sides. Weber came in, we lost him and that was the game. We had our chances but didn't get the equalizer."

Other than a slow first period in which Calgary generated three shots to Vancouver's two, Hartley liked what he saw from his injury-riddled team, which had eight rookies playing back-to-back games.

"I didn't like our first period. We were testing the waters and didn't have the jump we usually have," he said. "But we regrouped in the second and third and generated some good scoring chances."

The Flames forced Lack to make a couple great saves late.

He denied Bouma alone in front midway through the third period and got a glove on Sean Monahan's point shot as the Canucks killed off two power plays in the final five minutes, including a 6-on-4 with Ortio pulled for an extra attacker in the last 98 seconds.

"Not a whole bunch of them, but (Lack) made big saves at key times, especially in that third period when we were killing all the penalties," Tortorella said.