When predicting how much time he would need to get back up to speed to after missing three weeks with a lower-body injury, Evgeni Malkin estimated it would take a couple of games.

He overshot by about five periods.

Malkin scored a key second-period goal in his return to the lineup, Sidney Crosby recorded his 999th career point and the Penguins came away with a 4-0 victory over the Vancouver Canucks on Tuesday night.

The Penguins are 5-0-2 in their past seven games.

“I feel OK,” Malkin said. “First game is always hard. First period, I die a little bit. After, I feel so much better.”

The Penguins performed perfectly adequately in Malkin’s absence, going 4-1-2 without him, but there was clearly a spark missing from their offensive game.

They were much more dangerous with Malkin back, outshooting the Canucks, 42-29, and erupting for three third-period goals.

The Malkin goal that broke a scoreless tie in the second period, however, was probably the critical moment in the game.

The Penguins threw a bucketful of quality chances at the Canucks in the first period, but Ryan Miller managed to get one part of his anatomy or another in front of each puck. Vancouver, fighting for a Western Conference playoff spot, was hanging around. The Penguins easily could have become frustrated and started taking unnecessary risks.

Instead, Malkin posted up on defenseman Luca Sbisa at the top of the crease like Karl Malone staking out his territory in the paint. Olli Maatta faked a shot from the left circle and fed Malkin, who kicked the puck forward before tapping it with his stick as it crossed the goal line.

“It was a pretty easy pass for me,” Maatta said. “He kind of boxed the D man out, and he was wide open there. I think he did a great job taking it off his skates and putting it in.”

Malkin also set up a goal during the third-period outburst, dancing around Sbisa and defense partner Christopher Tanev to set up Phil Kessel on a two-on-one break.

“He’s one of those elite players in the league that has the ability to change an outcome,” coach Mike Sullivan said. “He certainly helped us in that regard tonight.”

Malkin also offered some help to captain Sidney Crosby in a Dr. Phil kind of way.

Crosby has been stalking 1,000 points ever since a goal and two assists gave him 997 for his career two Saturdays ago.

He had an assist against Calgary last Tuesday, then was held off the scoresheet on a two-game road trip to Colorado and Arizona.

Crosby moved one step closer to four digits Tuesday night when he set up Jake Guentzel for a third-period goal.

Guentzel took a pass high in the offensive zone, skated toward the slot and passed to Crosby on the goal line in the right-wing corner. Crosby got it right back to Guentzel for a shot past Miller that made it 2-0.

Crosby will get his next chance to hit 1,000 Thursday night at home against Winnipeg.

“I hope it’s next game,” Malkin said. “I know how hard it is. It’s one point. I think it’s too much pressure for him. I think he’s a little bit nervous right now. We need to help him a little bit more. Maybe power play, give him more passes. It’s not easy, but he’ll score for sure. It’s more fun when he scores and he’s relaxing and forgets everything and just enjoys the game.”

Not to be outdone by Malkin’s return and Crosby’s quest for 1,000, goalie Matt Murray had an enjoyable game Tuesday as well. He turned back 29 shots, including a handful on odd-man rushes and a Jack Skille second-period breakaway, to record his third shutout of the season.

“Murr really saved us,” Maatta said.

Jonathan Bombulie is a Tribune-Review staff writer. Reach him at jbombulie@tribweb.com or via Twitter at @BombulieTrib.