Alexei Kovalev and Sheldon Souray also scored in the middle period, while Michael Ryder had one in the first and Maxim Lapierre had an empty-net goal with 20 seconds left to play.
Montreal scored four power play goals in the game. Ryder also had a pair of assists and Andrei Markov had three.
Rookie Evgeni Malkin and Alain Nasreddine scored in the first period and Erik Christensen had one in the third for Pittsburgh.
NHL scoring leader Sidney Crosby, who had 10 points in his previous two games, had a relatively quiet game and was held to one assist.
It was the third win in a row for Montreal (19-8-5), which has points in its last six games. Pittsburgh (14-12-5) was coming off a 7-4 win Friday night over the New York Islanders and showed little energy after the first period.
A full house of 21,273 turned out to see Crosby and the Penguins' other young talents. They watched the visitors outshoot Montreal 17-3 in the opening period and the Canadiens roar back to post a 23-6 advantage in the second.
Malkin made a sweet play to open the scoring 12:05 into the match as he made a drop pass on a rush to Erik Christensen and went to the net to bang in the rebound for his 16th goal in only 28 NHL games.
Ryder blasted a cross-ice pass from Guillaume Latendresse into the top corner on a power play at 18:34, but Crosby fed Nasreddine in front for a goal with only .02 of a second left in the period.
The Penguins took four minor penalties in the middle period and Montreal made them pay.
Kovalev beat Marc-Andre Fleury from a bad angle at 9:29 and Koivu got one at even strength at 15:50 from the left circle.
Souray wired in his 12th of the season during a two-man advantage at 17:25 and Koivu got his second of the game when he redirected Markov's pass with five seconds left in the period.
Christensen was left unmarked to bang in Maxime Talbot's pass from in front of the net 14:53 into the final period.
It was Koivu's fourth two-goal game of the month, one short of a team record shared by four players and last accomplished by Steve Shutt in 1976. Koivu has 43 points in 35 career games against Pittsburgh.
Pittsburgh forward Jarkko Ruutu was ejected 9:13 into the third period for causing a ruckus in the penalty box after taking a cross-check in the face from Souray and then starting a shoving match with Craig Rivet on the ice.
Notes: Montreal's Radek Bonk, who broke his nose when hit by a puck against Tampa Bay on Thursday, played with a full face cage. . . Chris Higgins returned after 18 games out with a sprained ankle. . . Steve Begin (back) missed a third game. Janne Niinimaa, Aaron Downey and Garth Murray were scratched... Ronald Petrovicky and Nils Ekman didn't play for Pittsburgh.