Mittelstadt scored 1:00 into the first period to give the Sabres a 1-0 lead on their first shot.
Kassian tied it 1-1 at 2:33 on Edmonton's first shot, which bounced in off the stick of Sabres defenseman Zach Bogosian.
Nugent-Hopkins made it 2-1 at 3:23, and Kassian extended the lead to 3-1 at 4:28.
Rodrigues cut it to 3-2 at 8:57.
"When you look at the whole body of work in our game, we had a rough start, we turned some pucks over and we talked about rush coverage this morning, and I didn't think we did a very good job of that," Sabres coach Phil Housley said. "We can't give those kind of odd-man situations up against a good team that can kill you on the rush."
McDavid scored on a breakaway 24 seconds into the second period to make it 4-2. He collected the puck at the Oilers blue line and went in alone on Hutton after Sabres defenseman Rasmus Ristolainen fanned on his shot from the point.
"We let some goals in [that] kind of deflated us," Rodrigues said. "It's a minor mistake and one that we usually write off and get back on track. But we let it affect us too much and we let in bring our game down, and we got the result we deserved."
Lucic pushed the lead to 5-2 at 4:49, intercepting a clearing pass from defenseman Marco Scandella in the Sabres zone and scoring from the high slot. Hutton was pulled following the goal.
Lucic scored again at 3:50 of the third period to make it 6-2. Draisaitl made it 7-2 on the power play at 5:16, lifting a rebound for his 99th NHL goal.
"For me, this is five games in a row that he's been like this," Oilers coach Ken Hitchcock said of Lucic. "He's really playing well. He looks like the player that was around two or three years ago. He's got speed, he's got tempo in his game at both ends of the rink. He's able to pressure and control the boards and make quick decisions off the boards."