Nolan took advantage of a penalty on Edmonton's Tom Gilbert, finishing off a three-way passing play and beating goalie Devan Dubnyk with 7:18 left in the first period.
The Oilers' Jeff Petry got caught too far up ice on a power play late in the second period as Duco raced the other way on a 2-on-1 and knocked his own rebound through goalie Yann Danis' lets with 53 seconds left.
With Edmonton still on the power play, Eberle cut the deficit to 2-1 when he took a pass from Ryan Nugent-Hopkins and scored his second goal of the preseason.
The Oilers had a chance to tie it on a power play late in the third period, but Ryan Smyth was unable to bat a hard pass into a wide-open net.
Copyright by STATS LLC and The Associated Press
EDMONTON, CANADA - SEPTEMBER 22: Ryan Nugent-Hopkins #93 of the Edmonton Oilers steps off the ice following warm...