Aho scored on a snap shot from the right face-off circle to the far side after starting the sequence with a face-off on the right side.
Andrei Svechnikov had two goals and an assist, Shayne Gostisbehere had three assists, and Aho added an assist for the Hurricanes (12-5-0), who have won five of their past six. Pyotr Kochetkov made 14 saves.
Carolina forward Seth Jarvis left at 5:09 of the first period after being hit in the face by Svechnikov’s stick behind the Vancouver net. Hurricanes forward Jesperi Kotkaniemi left with a lower-body injury after the second period.
Elias Pettersson had a goal and an assist for the Canucks (8-9-2), who are 0-1-2 in their past three. Kevin Lankinen made 34 saves.
Max Sasson gave Vancouver a 1-0 lead at 2:45 of the first. After Gostisbehere collided with Canucks forward Mackenzie MacEachern, the puck came loose to Sasson near the blue line, where he moved in and scored through the five-hole.
Carolina tied it 1-1 at 4:20. Jarvis knocked down Tyler Myers’ clearing attempt and passed to Aho, who set up Svechnikov for a one-timer in the right circle.
Svechnikov made it a 2-1 lead on the power play at 5:14. Nikolaj Ehlers won the draw back to Gostisbehere, who passed to Svechnikov for a one-timer from the left circle to the short side.
Pettersson tied the game 2-2 with a short-handed goal at 9:14. Hurricanes defenseman Sean Walker lost the puck attempting a backhand pass in his own zone, and Pettersson shot from the top of the slot slot past Kochetkov’s blocker.
Vancouver then scored on the power play to go ahead 3-2 at 3:13 of the second period when Conor Garland one-timed a cross-ice pass from Brock Boeser.
Taylor Hall tied it 3-3 at 6:26 of the third period when he took a pass across the slot from Gostisbehere and finished into an open net from below the right circle.