• The Canadiens have won four straight home games against the Flames, with their last loss on Dec. 13, 2000. The Habs improved to 7-1-2 (one regulation loss, two ties) in their last 10 home games vs. the Flames.
• Montreal improved to 9-2-3 at home this season.
• Calgary has scored a total of 11 goals in its last eight losses.
-- ESPN research
Lang had two goals and an assist, and Tanguay and Kovalev each had two assists to lead Montreal to a 4-1 win over the Calgary Flames on Tuesday night.
Reunited with Kovalev -- his linemate with Pittsburgh earlier in the decade -- for the last four games, Lang was asked if the pair had recovered their old magic.
"I don't know, but the result was there," said Lang, who had an assist on Andrei Markov's goal in the third.
The Canadiens improved to 4-0-1 on their franchise-record seven-game homestand.
Kovalev assisted on Lang's goals in the first and second periods in his 1,100th regular-season game.
"I'm just happy I'm healthy and I've been able to play a lot of games," said Kovalev, who failed to score a goal for a 17th game in a row, two short of his longest career drought -- set in 1995-96 with the New York Rangers.
Tanguay, acquired from Calgary in a draft-day trade in June, picked up his second assist on Markov's goal, giving the line a total of seven points.
Rookie Matt D'Agostini extended his goal-scoring streak to four games and Canadiens backup Jaroslav Halak made 32 saves for his first win in seven weeks.
Halak had gone 0-2-1 in four starts since winning his first two outings. The 23-year-old Slovak has allowed one goal in each of his three wins this season.
"He was very, very solid in net for them and probably was a difference-maker," Flames coach Mike Keenan said.
Dustin Boyd scored Calgary's lone goal in the second in his return to the lineup after missing five games because of a shoulder injury.
Miikka Kiprusoff stopped 27 shots in his 13th straight start for the Flames. Kiprusoff has started 27 of Calgary's 28 games to date.
The Flames were upset that Markov was only given a tripping call with 1:54 remaining in the third for his collision with defenseman Dion Phaneuf.
"All I know is I cut in and my legs were taken out, and you're not allowed to do that," Phaneuf said.
Keenan felt it was a "flagrant knee."
"I don't understand it," Keenan said. "They're supposed to be experienced officials who can't or shouldn't miss calls like that."
Montreal defenseman Mathieu Dandenault will be out indefinitely after he left the game with a broken arm during the second period.
The Canadiens also lost left wing Christopher Higgins 14:43 into the first. He suffered an upper body injury and did not return.
Higgins will have an MRI on Wednesday.
"We'll know more after that," Canadiens coach Guy Carbonneau said. "I can't tell you if it's one day or six weeks."
Lang's shot from the left side went in off Calgary defenseman Mark Giordano's leg as Montreal opened the scoring 3:41 in.
D'Agostini made it 2-0 when he scored on a spectacular individual effort 4:17 into the second for his fifth point in five games since being called up from AHL Hamilton on Nov. 27.
"It's gone according to plan, I'd say, but even I never thought it would come like this, this fast," D'Agostini said. "The goals are coming, obviously, but I'm pretty happy with my all-around play and hopefully I can continue to do better and better."
The Montreal rookie blocked Flames defenseman Adam Pardy's shot at the left point and pushed the puck ahead as he drove up ice with Pardy and Cory Sarich in pursuit. Kiprusoff got caught in no-man's land when it looked like the puck had gotten away from D'Agostini, who instead reached out with his stick and pulled it back, before moving around the Calgary goalie to put a shot into a wide-open net.
Boyd drew Calgary within 2-1 with his eighth goal at 6:32. Flames captain Jarome Iginla fed a cross-ice pass as Boyd drove the left side and put a shot over Halak into the top of the net.
Lang restored Montreal's two-goal lead at 15:18 with his second of the game, his 10th of the season.