Mattias Ekholm also scored, and Leon Draisaitl had two assists for the Oilers (14-11-6), who finished a five-game homestand (3-1-1). Stuart Skinner made 27 saves.
Simon Edvinsson scored, and Cam Talbot made 25 saves for the Red Wings (17-12-3), who came in with points in their previous six games (4-0-2), including a 4-3 win at the Calgary Flames on Wednesday.
Hyman put Edmonton ahead 1-0 on the power play at 14:25 of the first period. It was a tic-tac-toe play where McDavid took one cross-crease pass from Draisaitl and sent another right back across to Hyman for an easy tap-in into an open net behind Talbot.
Ekholm made it 2-0 at 2:46 of the second period, sending a point shot in off the glove of Talbot.
But Edvinsson closed it to 2-1 at 5:41 as the trailer on an odd-man rush, taking a pass into the slot from Nate Danielson and beating Skinner high glove side.
Edvinsson was questionable to play Thursday after having blocked a shot and left after the second period Wednesday night against the Flames.
Hyman extended the lead to 3-1 at 17:48. McDavid reached up to haul down a deflected puck before sending a no-look, through-the-legs back pass from the right side of the net out front to a waiting Hyman, who put it past Talbot’s blocker.
Hyman scored his third of the night into an empty net at 18:43 of the third period. With his second assist, Draisaitl is four points shy of 1,000 for his career.