McDavid scored 1:31 into the game to give the Oilers a 1-0 lead. He took a pass at center ice from Leon Draisaitl, skated around defenseman Oliver Ekman-Larsson, and slid the puck past Kuemper.
"For the most part, in the neutral zone, I thought we did a nice job against them," Coyotes coach Rick Tocchet said. "When those guys wind it up, you have to make sure to stay above him. If you're not above him, like McDavid's goal, one of our guys should have been above him, and we got beat wide, and that's just the way he is, he's such a talented player."
Grabner tied it 1-1 at 3:30 of the first. He stripped Draisaitl of the puck at center ice, skated into the Edmonton zone, and scored short side on Koskinen.
Soderberg scored to make it 2-1 at 8:52 of the second period, capitalizing on a turnover by defenseman Joel Persson. He skated the puck from the Coyotes blue line, fought off Persson, and shot it over Koskinen's shoulder.
Stepan scored for the first time since Arizona's season opener Oct. 3, ending a 12-game drought. It was his first goal in 16 games against Edmonton.
"It's a heck of a play by Schmaltz," Stepan said. "It starts in our own end, and he gets the puck, makes a nice move, and then he outskates guys. On the 2-on-1, he makes a nice pass over, and I'm able to find the back of the net."