CALGARY - Led by a pair of rookies, the surging Blue Jackets picked up another two points on Friday night.

William Karlsson scored twice to bust out of a slump and Joonas Korpisalo had 30 saves as Columbus won 2-1 over the Calgary Flames.

"It feels good to win and score two goals. Obviously I haven't been too spoiled with the goals this year," said the 23-year-old Karlsson, who entered the night with one goal in his previous 30 games. "I'd say this is a classic, greasy road win. We got the goal early in the third and after that it was all about the defence."

Karlsson recorded the game winner 1:42 into the third period, taking advantage of a miscue by Dougie Hamilton. The Flames defenceman had the puck knocked off his stick at the Columbus blue line and on the subsequent odd-man rush, Matt Calvert set up Karlsson's sixth goal of the season.

It was another great night for Korpisalo. Pressed into service due to injuries to Sergei Bobrovsky and Curtis McElhinney, Korpisalo is 6-1-1 in his last eight starts with an impressive .945 save percentage.

"He's been saving (us) for a while, it seems like. It feels great with a guy like that you can really count on," Karlsson said. "He seems very confident out there, calm. It's kind of contagious. It goes out on all of us players."

One of his best saves came early in the second while lying flat on the ice when he stuck out his trapper to thwart Michael Frolik.

"Those kinds of desperation saves, you just try to get something in front of the puck," said the 21-year-old Finn. "You have to save the puck, doesn't matter about style."

Columbus (21-28-5) picked up of six-of-eight possible points on a stretch of four straight road games. Next up is the New York Islanders on Tuesday to open up a five-game homestand.

The Blue Jackets remain last overall in the league due to having played more games, but a 4-1-1 record in their last six has them even in points with five other teams — Calgary, Toronto, Winnipeg, Buffalo and Edmonton.

"We're playing the right way right now which is the most important thing and we're playing as a team. No one is trying to do it by themselves," said Blue Jackets defenceman Seth Jones.

Jiri Hudler scored for Calgary (22-25-3). The Flames, who have lost four of their last five, are back in action Saturday night in Vancouver.

"You look at the two goals we gave, two mistakes that we need to learn from," said Flames coach Bob Hartley. "It's part of our process with our young group and obviously it stings but that's the way it is right now. We can only learn."

The Blue Jackets tying goal at 9:39 of the second also came as a result of a mistake with Calgary defenceman Ladislav Smid getting caught deep in the Columbus end.

On the ensuing rush, Jones faked a shot, held the puck patiently, then neatly set up Karlsson for a one-timer.

"Bottom line is one goal, you're not going to win many games in this league," said Flames captain Mark Giordano. "We have to create more, we have to score more goals."

Ramo had 16 stops. The Blue Jackets didn't register a shot during the final 16 minutes.

Notes: Calgary D TJ Brodie was back in action after he exited the previous game early in the second after taking a shot just above the knee... Czech D Jakub Nakladal was a scratch for the sixth time. The 28-year-old in his first season in North America has been called up from Stockton (AHL) twice but has yet to make his NHL debut... Jones has seven assists in 13 games since being acquired by Columbus from Nashville.