Chris Stewart scored, and Jon Gillies made 23 saves for the Flames (35-33-10), who have been outscored 33-8 on a season-long seven-game losing streak. Calgary was eliminated from Stanley Cup Playoff contention on Monday.
"We're just in a funk right now and we just have to go after it a little more," Flames forward Matt Stajan said. "We're feeling sorry for ourselves a little bit too much. These games are hard to play, but we're in the NHL, we have to go after it a little bit better."
Hannikainen made it 1-0 on the first shot of the game for the Blue Jackets at 2:09 of the first period, and Dubois scored at 12:23 to make it 2-0 on a one-timer from the right circle.
"He's playing very well," Blue Jackets coach John Tortorella said. "It's very unnoticed as far as one of our keys being able to us compete this year is his play in the middle of the ice. Put him with different people, play him against top people in the league, all the teams, and he has just thrived."
Dubois extended the lead 3-0 at 3:55 of the second period, and Nutivaara gave the Blue Jackets a 4-0 lead at 10:58 of the third period.
Dubois completed the hat trick with a power-play goal to make it 5-0 at 15:23. The goal, his 18th of the season, set a new Columbus rookie record surpassing Rick Nash (17, 2002-03). Dubois, who has 44 points (18 goals, 26 assists), is three away from the Blue Jackets rookie record of 47 set last season by defenseman Zach Werenski.
"It's fun," Dubois said. "I wasn't really thinking about that, but it was a fun night tonight. Even better we got the two points. All in all, it was a great night."
Stewart scored to make it 5-1 with 21.4 seconds remaining.