Shortly after a huge save by goalie Devan Dubnyk, Hemsky took the puck down the length of the ice and danced around several defenders before making a highlight-reel goal to undress Columbus goalie Sergei Bobrovsky.
Sam Gagner had a goal and three assists for the Oilers (13-13-7), who moved into a tie for 11th in the Western Conference with Columbus with the win. Magnus Paajarvi, Jordan Eberle, Shawn Horcoff and Corey Pottera also scored.
It didn't take long at all for Columbus to start the scoring in this one.
The Jackets led 1-0 on the first shot of the game just 10 seconds in as Calvert got to a puck along the side boards and quickly dished it in front for Atkinson, who beat Oilers goalie Nikolai Khabibulin with a shot to the glove side. The goal tied for the fastest to start a game in Columbus franchise history.
The duo combined for another goal 12 minutes into the opening period to give the Jackets a 2-0 lead as Atkinson fed Calvert on a two-on-one and he lifted a shot over Khabibulin.
Edmonton got one of those goals back with five minutes to play in the first as Paajarvi picked off a soft Gagner shot in front of the net and hooked it behind Bobrovsky.
The Oilers tied the game 2-2 with an early goal of their own to start the second period as Eberle danced around defender Fedor Tyutin and slid a puck under the pads of Bobrovsky for his 10th of the season just 39 seconds in.
Columbus looked to have tied the game with two-and-a-half minutes to play in the second period as Khabibulin bobbled a high shot and Calvert slid into the net feet first and knocked the puck in while being hauled down by Ryan Nugent-Hopkins.
However, upon video review, it was determined that Calvert directed the puck in with his skate on the play.
The Blue Jackets quickly recovered, though, scoring just a minute later as Anisimov unleashed a deadly high wrist shot from in tight that Khabibulin could only wave at.
Edmonton rallied back to tie the game 3-3 just 31 seconds later as Ryan Jones dished the puck to Yakupov on a two-on-one and he elected to drop it to Horcoff coming in as the trailer. Horcoff dumped it into a wide-open net.
There was yet another early goal just 27 seconds into the third as Hemsky coughed up the puck in the Edmonton zone and Atkinson was able to score his second of the game on a shot that deflected of Oiler defenceman Ladislav Smid's stick.
Dubnyk came in to take Khabibulin's place in the Edmonton net.
The Oilers once again bounced back to tie the game 4-4 two-and-a half minutes later as Bobrovsky got a piece of a Potter point shot but it still somehow got through him.
Following Hemsky's dramatic game-winning goal, Gagner added an empty netter to put the game away.
The Blue Jackets are right back at it on Friday night in Calgary. Edmonton next plays host to the Vancouver Canucks on Saturday.
Notes: It was the third and final meeting between the two teams with Edmonton taking the first match 3-1 and Columbus winning the second game 4-3 in a shootout… Coming into the contest, the Oilers had won four straight against the Blue Jackets at home and were 17-4-1 in Rexall Place… The Blue Jackets entered the game riding a hot hand in net as Bobrovsky had gone 8-1-3 with a 1.23 goals against average in March, and had recorded three shutouts in his last nine starts... The Oilers kept the young trio of Taylor Hall, Ryan Nugent-Hopkins and Eberle together after they combined for eight points in Edmonton's 3-0 win over St. Louis on Tuesday… Columbus forward Brandon Dubinsky (lower body) has not played since last Tuesday and remains day-to-day… Oilers forward Eric Belanger was placed on injured reserve on Tuesday with a groin injury… Edmonton's Sam Gagner recorded his 250th NHL point.