EDMONTON - Ryan Miller is now a perfect 10 against the Edmonton Oilers.

Miller made 25 saves and Derek Dorsett had a goal and an assist as the Vancouver Canucks stretched their winning streak to four games with a 3-2 victory over the Oilers on Saturday.

With the win, Miller remained flawless in his career against Edmonton, improving to 10-0-0 all-time against the Oilers.

The 34-year-old goalie said he is at a loss to explain why he seems to have Edmonton's number.

"It's just kind of how it has worked out," Miller said. "When I was out east you would face teams like them maybe every other year and a lot of the games they were on a long trip coming into our building. It's just one of the anomalies of the game. I prepare the same for any team. Every game has been close this season, it's just been a matter of having that last little push at the end for us."

Dorsett's goal was a special one for the former New York Ranger.

"Every goal is important, but it was exciting to get my first goal as a Canuck," he said. "It just so happened to be the winner and shorthanded as well, which made it that much better."

Luca Sbisa and Linden Vey also scored for the Canucks, who improved to 8-3-0 on a night their top line was held off the scoresheet.

"The Sedin line, they carried us a lot on the first few games of the year and I think we are starting to get some offensive play from all four lines now," Dorsett said. "We have said since training camp that we wanted to be a four-line team. If we can do that night in and night out, it will win us a lot of games."

Jordan Eberle and David Perron replied for the Oilers (4-6-1), who have lost two in a row and remain winless against Western Conference opposition this season with a record of 0-6-1.

Vancouver's winning goal was scored shorthanded by Dorsett after a big giveaway by Oilers goalie Ben Scrivens, who wasn't shirking blame after the game.

"I made a bad play, that's about it," he said. "It's unbelievably frustrating. To make a play that cost your team the game is unbelievably frustrating. You have to try not to make those."

Oilers head coach Dallas Eakins said that Scrivens has been a stalwart for the team of late and doesn't deserve to be the only one feeling bad about the loss.

"It's the nature of the game, the nature of the beast, we're all going to stand here and blame it on Ben, but how many people are going to stand up and say 'Holy crap, right after that he kept us in the game,'" he said. "He made an unbelievable save, five minutes later he makes another huge save to keep us in the game. I'm certainly not going to stand here and crucify the guy. It's easy to stand back and point fingers, but that kid kept us in that game and a lot of key points and was a huge part of us coming out of the hole when we hadn't won. He'll bounce back, he made a mistake, he's owned up to it. He kept us in the game with some massive saves. I'm very cautious to pin the whole game on him."

Edmonton started the scoring 13 minutes into the first period as a reward after sustained pressure from the opening face-off as Taylor Hall fed it to Eberle, who deked Miller before tucking in his third goal of the season on the backhand.

The Canucks tied the game with just 47 seconds left in the opening frame as Chris Higgins cleared a rebound out of traffic in front to a pinching Sbisa, who beat Oilers starter Ben Scrivens with a slap shot. It was Higgins' 300th career NHL point.

Edmonton had a potentially disastrous play occur early in the second period as Hall crashed hard into the net, left the game with a leg injury and did not return. No update was made available after the game. Hall is the Oilers's leading scorer with 10 points.

"He tried to cut to the net and (Christopher Tanev) was right there," Miller said. "He is a great skater as well so it was two guys who can really fly. I think Hall thought he could get an edge on him and come in and get a shot off, but Tanner was step to step with him and gave him a little push back.

"I think he misjudged the situation. I thought it was a pretty clean play. It wasn't a hold or a hook. Unfortunately it was a tough spot."

Scrivens was able to keep it a tie game four minutes into the second, making a big kick save on Jannik Hansen on a Vancouver power play.

There was a vicious hit with six minutes left in the second as Oilers captain Andrew Ference sent Zack Kassian flying with a high body check that earned him a penalty.

"I didn't see it live. The league might look at it," said Canucks head coach Willie Desjardins. "I don't know if they will or not, we'll have to see what happens."

Vancouver made it 2-1 with three-and-a-half minutes remaining in the third as Scrivens came across to make a big stop on Dorsett, but Vey was there to send the rebound through his legs.

The Oilers, however, tied it up just over a minute later as Leon Draisaitl picked off a pass and sent it to Perron, who beat Miller up high for his first goal of the season.

Edmonton came close to taking the lead on the power play four minutes into the third as Eberle had another glorious chance on the backhand, but Miller just got a piece of his stick on it to deflect it over the net.

When play resumed, the Canucks went up 3-2 on a big gaffe by Scrivens, who misplayed an attempt to send the puck up ice — sending it instead to Dorsett, who put the puck between the Oiler goalie's legs for a shorthanded goal.

The Canucks return home to face the Nashville Predators on Sunday. Edmonton starts a five game road trip on Tuesday in Philadelphia.

Notes: It was the third game of the season between the two teams, with Vancouver emerging victorious in the two previous meetings… The Canucks were without forward Alex Burrows, who began a three-game suspension for his hit to the head on Montreal defenceman Alexei Emelin on Thursday night. With Burrows out, Jannik Hansen moved up to play on Vancouver's second line. It was Hansen's 400th career NHL game… Vancouver's Tom Sestito, a healthy scratch for the first 10 games of the season, saw his first action of the season, while defenceman Ryan Stanton, who has missed the last seven games with a lower-body injury, was a healthy scratch… Daniel and Henrik Sedin have feasted on the Oilers in their careers, coming into the game with Daniel recording 74 points in 76 games against Edmonton and Henrik 76 points in 79 games. The Sedins and linemate Radim Vrbata combined for 13 points in the two previous games against Edmonton this season, however were kept scoreless on Saturday… Oiler defenceman Nikita Nikitin remained out with back spasms, although backup goalie Viktor Fasth returned from injury and was on the Oilers bench.