PITTSBURGH -- The injury-ravaged Pittsburgh Penguins keep winning.
"Winning always makes things better," Crosby said. "There's no secret there. It doesn't matter what team you play on, winning solves everything."
The Penguins, who lead the Eastern Conference with 55 points, played without star center Evgeni Malkin and five of their top six defensemen for the fourth straight game, but that didn't stop them from winning their 10th straight at home and picking up their 12th victory in 13 games.
"We do our best to chip in and get through this," Crosby said. "It's not common, you're not used to being in this situation, but just having the mindset of going out there to outwork the other team has done us well."
Crosby, who had a goal and two assists, extended his season-high points streak to 10 games. He leads the league with 54 points. Pascal Dupuis added his seventh goal of the season, Harry Zolnierczyk scored his first with the team and James Neal added a goal.
"We never quit," Flames coach Bob Hartley said. "We kept going at the net. With a little luck, maybe we could have gotten the tying goal. It's a tough loss to swallow."
Pittsburgh jumped to a two-goal lead and went up 4-1 on goals from Crosby and Neal. But Calgary scored twice -- Cammalleri with 45 seconds left in the second period and Hudler 1:03 into the third period to make it 4-3.
The Flames came up empty on an ensuing power play and continued to press for the tying goal. Their best chance came with 6:25 remaining when Joe Colborne hit the post to the right of goalie Marc-Andre Fleury, who won his 21st game of the season.
"They had more than one good opportunity around our net, and certainly the one that went off the post," Penguins coach Dan Bylsma said.
Despite all their injuries, the Penguins have been better than any other team in the league since Nov. 18, registering the most wins and points during that span. They've done it playing from ahead too as Pittsburgh has trailed for just 3:12 in its past nine games.
Dupuis and Zolnierczyk scored 1:19 apart midway through the first period, staking the Penguins to another early two-goal lead. The Penguins are an NHL-best 17-3 at home and 22-2 when scoring first.
Malkin, who injured his left leg last Saturday at Detroit, skated the past two days and could return after Christmas. Penguins defenseman Rob Scuderi (broken ankle) and forward Tanner Glass (broken hand) also could return soon during an upcoming stretch in which Pittsburgh plays seven of its next nine on the road.
Additionally, Penguins defenseman Brooks Orpik passed a concussion test Friday and practiced for the first time since Dec. 7 when he was pushed to the ice by Bruins forward Shawn Thornton. Thornton, who punched Orpik while he was down, was suspended by the NHL for 15 games.
The Flames, who just finished a five-game road trip, could be without two key players when they return to Canada for a five-game homestand that starts Monday against St. Louis.
Assistant captain Curtis Glencross left early in the first period, injuring his left knee after an awkward fall into the boards. Glencross, who needed assistance to the dressing room, remained on the ice until the whistle, but couldn't put weight on his leg.
Flames defenseman Kris Russell, playing in his 400th career game, also left in the third period with a leg injury. Hartley did not have an injury update after the game, noting both will be evaluated on Sunday.
"The fact that they didn't come back is not good news," Hartley said. "They're two great leaders, but at the same time there is nothing we can do about injuries."
The Penguins signed backup goalie Jeff Zatkoff to a two-year contract extension. ... The Flames scratched Blair Jones, T.J. Galiardi and Christopher Breen; Brian Gibbons sat for Pittsburgh. ... Pittsburgh travels to Ottawa on Monday.