EDMONTON, Alberta -- The Colorado Avalanche are on a roll heading into the postseason.
Paul Stastny, Jamie McGinn and Tyson Barrie also scored for the Avalanche, who have gone 7-0-1 in their past eight games.
"We played the type of game that we need to play in the playoffs," Colorado goalie Jean-Sebastien Giguere said.
"It didn't matter that we were playing a team that is out of it. We stuck to our game and I was really impressed with the way we played, it's a really good time for our team."
The win gave Colorado a four-point cushion over the idle Chicago Blackhawks for second place in the Central Division and two points up on the San Jose Sharks for third in the Western Conference. The Avs remained four points back of division-leading St. Louis.
"I think we just want to keep winning," Stastny said.
"We want to get home ice. Whether we catch St. Louis or not, we just want to keep moving forward. If Chicago wins again, we have to win again to guarantee home ice for at least one run. But we're not looking that far ahead, we're just looking at the next game. We just have to keep playing well."
The Avalanche set a team record for road wins with the victory, improving to 25-10-3 away from Denver.
David Perron scored for the Oilers, who had a two-game winning streak end.
"It was a small step backward tonight," Oilers defenseman Jeff Petry said. "We weren't sharp from the beginning of the game on. We weren't making tape-to-tape passes or catching passes. We were just a little bit off tonight."
Oilers coach Dallas Eakins thought it was more than just a little off, especially in light of some of their efforts against top teams of late.
"It was perplexing to say the least," he said. "On our last road trip and our last game here against Anaheim, we were dialed in, each and every guy.
"Tonight we just couldn't get our legs and get into the rhythm of the game. The biggest thing for me was it was almost like we couldn't work because we couldn't make two passes in a row. Our execution was just terrible tonight."
Colorado started the scoring at 4:13 of the first after Stastny swatted the puck in through the legs of an Edmonton defender from the side of the net after goalie Ben Scrivens had made the initial stop on Gabriel Landeskog. It was Stastny's 23rd goal of the season.
The Oilers tied the game on the power play at 16:58 of the first as Perron banked the puck off the skate of defenseman Nick Holden and past Giguere. It was Perron's team-leading 28th goal of the season.
However, the Avalanche restored their lead just 12 seconds later as Johnson skated past Petry and beat Scrivens up high.
"That was a huge boot right in the you-know-what," Eakins said. "You aren't going great and you get a goal that livens your bench and they barely drop the puck and bang, it is in the back of your net."
Johnson knew it was a pivotal goal.
"It was right after they scored a power-play goal, the first shift after," Johnson said. "I just wanted to make sure first and foremost we got the puck in deep. I had some speed and made a move and it was fun to make a play like that and score a goal like that at this level.
"We controlled the pace of the game the entire game after that goal, I thought."
Both goalies were solid in the scoreless second period, particularly Scrivens, who came across to make a huge toe save on Stastny after a bad bounce off the glass with two minutes left. The shots favored Colorado 23-19 through 40 minutes. The Avalanche came into the game with a record of 34-0-2 when leading after two periods.
Colorado took a 3-1 lead at 7:34 of the third on a power-play goal as Barrie came in from the point and took a shot through traffic that beat Scrivens high to the glove side.
The Avalanche made it 4-1 with just under four minutes left to play as McGinn smacked the puck into the net before Ryan Nugent-Hopkins could clear it for his 19th of the season.
Both teams return to the ice on Thursday as the Oilers play the third game of a season-ending four game homestand against the Los Angeles Kings. The Avs are on the road for their final four matches, playing the second of a four game trip in Vancouver against the Canucks.
It was the third and final meeting between the teams this season. Edmonton started out with an 8-2 win over the Avalanche on Dec. 5, however the Avs bounced back with a 4-3 win two weeks later in Colorado. ... Colorado is one of the few teams that the Oilers have had much success against in recent years, coming into the game with a record of 12-4-4 in their past 20 games against the Avalanche. ... Oilers forward Taylor Hall came into the game on a high note, having earned the NHL's first star status on Monday for his play last week. Hall scored two goals and added seven assists in four games to collect the honor. ... Out with injuries for the Avalanche were forwards Cody McLeod (ankle), P.A .Parenteau (knee) and Matt Duchene (knee). ... Absent from the Oilers lineup were forwards Jesse Joensuu (ankle), Tyler Pitlick (knee), Ryan Jones (torn PCL), Luke Gazdic (shoulder), Nail Yakupov (ankle) and defenseman Andrew Ference (chest).