Six different players scored for the Oilers (15-12-0), who won for the second time in three games. Stuart Skinner made 16 saves in his eighth win of the season.
"At some point you need to be ready, and we knew we had a tough opponent," head coach André Tourigny said. "We needed to be much better."
Edmonton jumped out to a 3-0 lead thanks to goals from Ryan Nugent-Hopkins, Derek Ryan, and Leon Draisaitl. Nugent-Hopkins and Draisaitl's tallies came on the power play, helping the Oilers finish 2-for-5 with the man advantage.
"We let them control the pace of the game, and that's ultimately what cost us the final score," forward Lawson Crouse said. "We have to learn from it but move on."
McBain cut the lead to 3-1 at 13:43 of the second period after breaking in and making a move around Skinner, and Gostisbehere rounded out the scoring after he redirected a shot-pass from Fischer.
Connor McDavid recorded four points, bringing his league-leading total to 52.
The game marked the end of Arizona's 14-game road trip, in which it made stops at what seemed like every corner of the United States and Canada. Crouse said the Coyotes used as much of it as possible to their advantage.
"It brought us closer together as a team," he said. "We've had a handful of new players join the team, and it's been a good opportunity to gel with them."
Arizona returns home on Friday to host the Boston Bruins at Mullett Arena, and the game will be broadcast on Bally Sports Arizona Extra (TV) and KTAR 92.3 FM (Radio).