VANCOUVER -- Elias Lindholm scored twice, and Elias Pettersson had three assists for the Vancouver Canucks in a 4-1 win against the Detroit Red Wings at Rogers Arena on Thursday.

“It felt pretty good,” Lindholm said. “We didn’t give them too much, obviously that’s a skill. We stayed pretty compact and kept them to the outside.”

J.T. Miller and Nikita Zadorov scored for the Canucks (37-12-6), who have won three straight games and are 13-1-3 in their past 17. Thatcher Demko made 15 of his 27 saves in the third period and became the first goalie in the NHL to reach 30 wins this season (30-9-1).

Vancouver was coming off a five-game road trip that ended Tuesday with a 4-2 win at the Chicago Blackhawks.

“I like the effort,” Canucks coach Rick Tocchet said. “It was a long road trip coming back with the one-day turnaround and I thought the effort was there. We hung in there, [Demko] was great … I thought the guys did a really great job.”

DET@VAN: Lindholm doubles the lead in first home game as a Canuck

J.T. Compher scored, and Alex Lyon made 17 saves for the Red Wings (27-20-6), who have lost the first two games of a four-game road trip and three of their past four overall.

“It was a frustrating night in that you come in here, you limit a team like that to 21 shots and might be a handful of chances, might have given up six chances all night long, and we just didn't generate enough offense,” Detroit coach Derek Lalonde said.

Miller gave Vancouver a 1-0 lead at 7:37 of the first period after intercepting a pass by defenseman Jeff Petry inside the blue line and using a screen from Brock Boeser to score on a wrist shot from the top of the left circle high-glove side.

Lindholm made it 2-0 at 9:31 on the rush with a wrist shot through the legs of defenseman Jake Walman and over Lyon’s blocker. It was Lindholm’s home debut for the Canucks after being acquired in a Jan. 31 trade with the Calgary Flames.

“I didn't love my game tonight,” said Lyon, who allowed seven goals on 29 shots in relief of an injured Villle Husso during an 8-4 loss at the Edmonton Oilers on Tuesday. “I'll say it flat out, but that being said, I gave up seven last game and so it was just about re-engaging and then you give up two quick and it turns into a mental grind … and I felt like I found a groove later in the game.”

Zadorov pushed it to 3-0 at 12:51 of the second period, scoring on a screened shot from just behind the left circle.

DET@VAN: Zadorov scores goal against Detroit Red Wings

It was Zadorov’s first goal for Vancouver since being acquired in a Nov. 30 trade with the Flames, and it came in his first game back from a two-game suspension for a high hit on Red Wings forward Lucas Raymond during a 4-3 overtime loss in Detroit on Saturday.

“We were solid from the start,” Zadorov said. “Another home win and we’re still trying to establish home ice here.”

Compher cut it to 3-1 at 14:25 with a quick wrist shot after the puck deflected across the slot, his 100th NHL goal.

Detroit outshot Vancouver 15-5 in the third period, in part because of two early power plays highlighted by a couple of tough Demko saves off Patrick Kane, including a right-to-left push on a cross-ice chance in the slot at 5:19.

“He made some good saves, but our power play has got to be better,” Kane said. “[Daniel] Sprong made a great play to me on the power play, and I have to bury that one. It was a good save, but I kind of shot it back into him.”

The Red Wings finished 0-for-5 on the power play. Vancouver was 0-for-1.

“Obviously going 0-for on the power play stung,” Lalonde said.

DET@VAN: Demko rolls over to snatch the puck away of the net

Demko’s best save came off Sprong at 8:41 of the second period, lunging across the crease with his right pad to take away an apparent backdoor tap-in. Demko went left to right again to deny Alex DeBrincat at 13:25 of the third period.

“You're trying to generate something to make it a one-goal hockey game,” Kane said. “We had some looks."

Lindholm made it 4-1 at 12:59 of the third on a delayed penalty. Pettersson initially missed on a 2-on-1 pass to Nils Hoglander, but retrieved the puck and fed it cross-ice to a trailing Lindholm for a short-side one-timer from the left hash mark.

NOTES: Detroit forward Robby Fabbri missed a second straight game after the birth of his first child on Wednesday but is expected to rejoin the Red Wings in time to play against the Flames on Saturday. … Canucks forward Dakota Joshua did not play after sustaining an upper-body injury in the third period in Chicago on Tuesday. Tocchet said after the game he will miss at least one more game on Saturday against the Winnipeg Jets, but there is no timeline beyond that yet.