Stoa was the only skater to score in four rounds of the shootout, deking right to his backhand and roofing the puck into the top of the net past a sprawled Nikolai Khabibulin.
Brian Elliott stopped 31 shots for the win, including four in overtime, and made a couple of nice saves in the shootout. He reached his stick out to stop Alexandre Giroux and threw his right pad out to stone Magnus Paajarvi.
"He made a few big saves there and gave me a chance to win it," said Stoa.
Edmonton fell to 0-4-2 in its last six games and has just 56 points -- six fewer than the Avalanche in the reverse-race for the No. 1 overall pick in the NHL draft.
Duchene opened the scoring at 9:47 of the first period, skating down the right side and driving in on net to beat Khabibulin. He added an assist later and has five goals and eight helpers in 11 games against the Oilers.
Eberle tied the game on a backhand in the slot at 13:05 of the second period, but Porter restored Colorado's one-goal lead at 17:00, picking up a rebound in front and deking around Khabibulin on the right side.
Foster's game-tying goal in the third was set up by Linus Omark, who twirled from his forehand to his backhand in the left circle, spinning to find his teammate open in front.
"I was actually open right away and I was kind of mad he didn't see me, but then he put it on my tape," said Foster.
The Avs ended a four-game road trip...Colorado was 0-for-2 on the power play, while Edmonton went 1-for-5.