COLUMBUS -- Jordan Staal scored two goals for the Carolina Hurricanes in a 3-1 victory against the Columbus Blue Jackets at Nationwide Arena on Friday.
Cam Ward made 25 saves for Carolina (6-5-3), which has won two straight games after going 0-2-2 in its previous four.
[WATCH: All Hurricanes vs. Blue Jackets highlights]
"We've always prided ourselves in being hard to play against, and I think we've been doing that of late," Staal said. "We were skating and moving the puck better. Our execution is slowly getting better. It's been a continued process."
Staal gave the Hurricanes a 2-1 lead at 8:54 of the third period. Teuvo Teravainen, who had an assist on each of Staal's goals, lifted a backhand pass to Staal between the face-off circles for a one-timer past goalie Sergei Bobrovsky.
"The less I think, the better," Staal said. "I was just trying to get it off as quick as I could. I was fortunate it jumped off my stick right away."
Video: CAR@CBJ: Hanifin sets up Staal for tap-in goal
Brock McGinn scored into an empty with 25 seconds left to make it 3-1.
The Hurricanes defeated the Florida Panthers in a similar manner Tuesday, scoring an empty-net goal in a 3-1 win.
"You need to be able to play in tight games. We play a lot of tight games," Carolina coach Bill Peters said. "That's the way it is right now. We're not getting much offensively."
Sergei Bobrovsky made 26 saves for the Blue Jackets (9-7-1), who have lost four games in a row (0-3-1).
"We've got to get pucks deep, make them go 200 feet, get on their D, make them make some tight passes and create turnovers," Columbus forward Tyler Motte said. "When we do that, we're a pretty good team. We have to continue to find our game. If we do that, we can start winning some games."
Brandon Dubinsky put the Blue Jackets ahead 1-0 at 5:35 of the first period, taking a stretch pass from Motte at the Hurricanes blue line and lifting a backhand past Ward top shelf. Dubinsky has scored each of his two goals this season in the past three games.
Video: CAR@CBJ: Ward robs Panarin with flashy glove save
Staal scored his first of the night at 3:50 of the second period to tie it 1-1. After Teravainen found Noah Hanifin between the circles, the defenseman faked a shot to freeze Bobrovsky and passed low to Staal, who had an open net for the tap-in.
Staal used a curling term to describe watching the puck slowly move into the net with several Columbus players trying to stop it.
"I was yelling 'sweep' to get it across the goal line," he said.
Ward made a left-toe save on a breakaway by Cam Atkinson less than three minutes before Carolina took the lead on Staal's second goal.
"We were resilient," Peters said. "We didn't give up much, and when we did, we gave up a couple of humdingers. [Ward] was big. He was outstanding."
The Hurricanes made it tough for the Blue Jackets to find space, forcing them into 13 giveaways compared to their four.
"When they're playing well, they kind of remind me of who we are," Dubinsky said. "Their D pinching, staying up, surfing as the coaches call it, creating turnovers and transitioning well. All night, they were in our face, and we didn't manage the puck well."
Goal of the game
Staal's second of the night at 8:54 of the third period.
Video: CAR@CBJ: Staal roofs one for his second of the game
Save of the game
Ward stopping Atkinson on a breakaway at 6:06 of the third period.
Video: CAR@CBJ: Ward reaches out pad to rob Atkinson
Highlight of the game
Dubinsky's goal at 5:35 of the first period.
Video: CAR@CBJ: Dubinsky roofs backhand for breakaway goal
They said it
"No matter how bad we were, we still had a chance to win it and we just don't find a way in the third. You can't get into a panic mode. The No. 1 thing is we've got to figure out our starts." -- Blue Jackets coach John Tortorella
"It's a tough building to play in. I felt real good. The third period was my best period actually, and I'm happy the guys were able to get it done. Overall, we played a great road game." -- Hurricanes goalie Cam Ward
"It's not trying to be fancy and making plays and trying to be run and gun. It's about getting pucks beneath the other team's hash marks and winning battles. We're not doing enough of that right now. The results speak for themselves." -- Blue Jackets forward Brandon Dubinsky
Need to know
The Blue Jackets had seven defensemen in the lineup for the second straight game. Defenseman Gabriel Carlsson played with forward Sonny Milano a healthy scratch. … Hurricanes defenseman Brett Pesce (concussion) returned after missing three games.
Hurricanes: Host at the Chicago Blackhawks on Saturday (7 p.m. ET; FS-CR, WGN, NHL.TV)
Blue Jackets: At the Detroit Red Wings on Saturday (7 p.m. ET; FS-D, FS-O, NHL.TV)
Video: Staal, Ward power Hurricanes past Blue Jackets, 3-1