Edmonton came from behind three times in the contest to win its second in a row. Columbus has lost three straight.
The Blue Jackets scored the first two goals of the game, but Edmonton came back to tie it on tallies from Magnus Paajarvi and Jordan Eberle.
Artem Anisimov put Columbus back in front with 1:26 left in the second period only to have Shawn Horcoff tie it 31 seconds later.
Columbus went back in front for a third time on Cam Atkinson's goal 27 seconds into the third period, but the Oilers dominated the rest of the way.
A slap shot from Corey Potter once more tied the game and Hemsky finally gave the Oilers the lead when he put a backhander past Sergei Bobrovsky. Sam Gagner clinched the win by scoring into an empty net with 42 seconds remaining.
Nikolai Khabibulin, who gave up the four Columbus goals in relief of the injured Devan Dubnyk, picked up the win with 17 saves.
Bobrovski surrendered five goals on 24 shots.