VANCOUVER -- Elias Pettersson scored the go-ahead goal early in the third period and had two assists for the Vancouver Canucks, who handed the Carolina Hurricanes their fourth straight loss with a 4-3 victory at Rogers Arena on Saturday.

Pettersson put Vancouver ahead 4-3 at 3:29 of the third with a wraparound between Carolina goalie Antti Raanta’s legs after fighting off a check from Sebastian Aho behind the net.

“I just tried to create space for myself and did a wraparound; I’m glad it went in,” Pettersson said of his second wraparound goal in the past six games. “For me, getting more shots off or getting more -- I don’t know if dangerous is the right word -- getting more chances, I’ve scored two of them so I’d like to keep going.”

Sam Lafferty and Ilya Mikheyev each had a goal and an assist, J.T. Miller scored and Thatcher Demko made 21 saves for the Canucks (18-9-1), who won consecutive games for the first time since Nov. 15 after alternating wins and losses in its past nine games.

“We’re trying to build something long term,” Pettersson said. “Every game is different and today was a very tough game.”

CAR@VAN: Pettersson scores on the wraparound for lead

Jordan Martinook, Brady Skjei and Stefan Noesen each scored for the Hurricanes (14-12-1), who lost their fourth straight of a six-game road trip. Raanta made 20 saves for Carolina, which had a players-only meeting after the game.

“I'd obviously like to keep it in the room, but obviously we're not happy and we're frustrated,” Aho said. “We've done a lot of talking. That's not the first meeting that we had. The time is now to show it to us and to everyone what we are capable of, and the only way out is together.”

Lafferty gave Vancouver a 1-0 lead at 6:17 of the first period by tapping in a rebound after Pettersson’s rush shot from between the top of the circles.

“This is definitely the way we want to play,” Lafferty said of his line with Pettersson and Mikheyev. “We’re starting to get a little more familiar with each other. We can anticipate where the puck’s going to be so we can be a bit faster.”

The Hurricanes had consecutive power plays late in the period, including 35 seconds of 5-on-3 time. Demko made three cross-ice one-timer saves on the two-man advantage and slid left to deny Aho on a 5-on-4 backdoor chance before the second power play expired.

“We had three good looks, one-timers, seam passes, I thought they were pretty quality shots.” Aho said. “Kind of how it goes sometimes. Obviously a little frustrated, you hope you cash in on those, but everyone knew on the bench we gained some momentum and that didn't take the wind out of the team.”

Mikheyev made it 2-0 at 6:54 of the second period, scoring off a backdoor pass out of the left corner from Pettersson.

“We gave them two goals, just lack of coverage, just standing there watching the guy tap it in and that can't happen against any team, especially a good team that knows how to play and plays hard,” Carolina coach Rod Brind’Amour said.

Martinook cut it to 2-1 with his first goal of the season 29 seconds later at 7:23, taking a lateral rush pass from Jesper Fast at the left hash marks and snapping a quick shot past Demko high blocker side.

Miller extended it to 3-1 at 13:46, skating off the bench after Pettersson’s change and into Brock Boeser’s pass inside the left face-off dot that he one-timed past Raanta’s blocker.

“Great change by [Pettersson], really selfless by him,” Miller said. “He easily could’ve hung around there to see what happened on offense and I don’t blame him, but he changed and I kind of got lost in coverage by coming off the bench.”

CAR@VAN: Mikheyev, Pettersson team up to score

Skjei made it 3-2 at 19:04, scoring on the power play off a cross-crease pass from Dmitry Orlov below the goal line.

Noesen tied it 3-3 at 2:10 of the third period, tapping a loose puck behind Demko after Jack Drury deflected a Brent Burns point shot off the crossbar.

Carolina was unable to tie it following Pettersson’s go-ahead goal despite outshooting Vancouver 10-3 in the third.

“The third was great,” Brind’Amour said. “I didn't feel like they were in our end and unfortunately their best player, or one of their best players, got us on a nice individual effort. It's not like we got dominated, but we didn't certainly get to the game we have to play to be successful.”

Hurricanes forward Martin Necas said the focus was positive in the postgame players-only meeting.

"Just got to get it together, stop being negative, even though it's hard and just support each other because we haven't really gone through times like this before as this group and it's tough,” Necas said. “But just got to build off little things and we all gotta be better and just help each other out because times like this are hard."

NOTES: Carolina finished 1-for-5 on the power play; Vancouver went 0-for-3. … Hurricanes forward Andrei Svechnikov missed a second straight game with an upper-body injury after trying to take part in the beginning of the morning skate but leaving early. … Carolina center Jordan Staal played his 1,200th NHL game. … Boeser extended his point streak to seven games and 10 points (five goals, five assists).