Ales Hemsky scored the winner with 3:08 remaining as the Oilers won their second game in a row, defeating the Columbus Blue Jackets 6-4 on Thursday night.
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.
"With the mistakes we made, finding a way to stay in it and continue to push and shut it down in the third, it's a good feeling," said Gagner, who recorded his 250th NHL point at the age of 23. "It was definitely nice to get this win. We need to find ways to win here at home and playing with energy and creating chances for ourselves. When we do that you can see how loud it gets in this building. It should be a fun stretch run here if we can continue that."
Sam Gagner had a goal and two assists for Edmonton (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 Potter also scored.
Oilers head coach Ralph Krueger said he was glad to see his team bounce back so many times in the game, particularly after being badly outplayed early on.
"It took a lot of character to win this game," he said. "It took a lot of guts to keep digging out of the holes we put ourselves in. In the end we are very happy with this win, it was a huge win for us. Psychologically we can take a lot of things out of this type of a game. It was very difficult for all of us to be a part of. But in the end the win stands out and it is all that much more valuable coming in regular time."
Cam Atkinson had a pair for the Blue Jackets (13-14-7), who have lost three in a row after going 8-0-4 in their previous 12 games. Matt Calvert and Artem Anisimov also scored.
"It was an abnormal game for us," said Columbus assistant captain Jack Johnson. "We don't usually score that many and we don't usually give up that many goals. It was frustrating to lose after so many guys worked so hard. As a team, if you give up that many goals, though, you can't expect to win."
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 Bobrovsky's pads 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 Nail 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 against Columbus 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.