John Tavares had two assists, and William Nylander, Auston Matthews and Zach Hyman scored for Toronto (7-2-1), which had won four in a row and finished a four-game road trip that included a 4-3 win here Thursday. Frederik Andersen made 27 saves.
"I think it's pretty positive 10 games in, sitting where we're at," said Matthews, who scored for a fifth straight game. "There is a lot of things that we can do better. I don't think we've scratched the surface of the best hockey that we can play collectively as a team. I think's always encouraging as we move on during the season that we can play better, but that we're still getting points and still winning."
Edmonton was awarded a penalty shot at 3:38 of the first period after Toronto defenseman Mikko Lehtonen covered the puck in the crease, but Tyler Ennis shot wide.
Kahun scored his first goal with the Oilers at 11:28 of the first period to give Edmonton a 1-0 lead when he lifted the puck over Andersen from below the right face-off circle.
"It's a relief a little bit, because we've been playing really good in the [offensive] zone, we had so many chances," Kahun said. "I finally got rewarded for that and I'm very happy."
Nylander tied it 1-1 at 17:46 from the slot. Archibald gave the Oilers a 2-1 lead with 14 seconds left in the period off McDavid's pass from behind the net.
McDavid scored on the power play to make it 3-1 at 6:13 of the second period after skating end to end through the Toronto defense.
"I think there's different things that we could have done differently for sure," Maple Leafs defenseman Justin Holl said of the play. "A forward could wedge in the middle a little better, I think I could push him a certain direction better or maybe start skating forwards so at least I can try and chase him down. But that's a tall order on McDavid. He's a special player, and when he gets that time and space, he's very dangerous, and honestly that's one you shrug off and you say, 'He's a great player.'"