It was the second straight game the Canucks blew an early multiple-goal lead.
"I'm getting sick and tired of having leads and giving them back and playing well in periods in the game and then not playing a full 60 minutes," Canucks forward Bo Horvat said. "Again, we did it tonight and it came back to bite us."
Horvat scored from a sharp-angle 1:06 into the first period for a 1-0 lead, with the puck somehow going under Smith's pad as he tried to seal the post.
"I wouldn't change anything the way I played that first goal," Smith said. "It just found a way to go through, for some reason."
Tyler Myers made it 2-0 at 8:06 with a slap shot from the top of the right face-off circle that deflected off the stick of Ennis and over Smith's shoulder.
Pettersson batted in a rebound to make it 3-0 at 15:17, but Kahun's shot from the bottom of the face-off circle trickled through Demko at 18:43 to cut it to 3-1 and begin Edmonton's comeback.
"Should have stopped it," Demko said. "There's been some tough nights throughout this season so far and tonight stings a little bit more. Being up three like that and letting them crawl back in the game."
Kahun scored off a cross-ice pass from Draisaitl 55 seconds into the third period to bring the Oilers within 3-2.
"You give players like that time and space and the ability to take over a hockey game, and they're going to do it." Horvat said. "It's frustrating, but it just shows we have to mature."