Jordan Eberle, Taylor Chorney and Ales Hemsky also scored for the last-place Oilers, who won for the first time in their last eight home games and for just the second time in their last nine overall.
Edmonton goalie Nikolai Khabibulin made 24 saves and snapped a 14-game losing streak.
Loui Eriksson scored for the Stars, who have only two wins in their last seven games.
Both goalies had big stops early as Khabibulin made a quick kick save on Brenden Morrow as the Stars' captain finished a two-on-one. Dallas goalie Kari Lehtonen quickly followed, stoning Hemsky on a clear breakaway.