There were seven goals scored in all during the middle period, at the end of which Columbus held a 5-3 advantage on its way to ending a three-game losing streak.
Columbus, despite all its offense, did not clinch the contest until R.J. Umberger scored into an empty net with 36 seconds to play.
The Blue Jackets won on the road for just the fourth time in 16 attempts this season.
Steve Mason made 29 saves to get the victory. Calgary goaltender Miikka Kiprusoff was pulled after two periods after giving up five goals on 20 shots and Joey McDonald stopped the four shots he faced in the third.
Calgary had won its previous eight home games.