Sidney Crosby scored three goals in slightly more than eight minutes of the second period as the Pittsburgh Penguins held on to beat the Buffalo Sabres 5-4 in the NHL Monday. Crosby tied San Jose's Patrick Marleau for the NHL goals lead with 37. Crosby's hat trick was his third of the season and fifth of his career, and the Penguins pressed unsuccessfully to try to get him a fourth goal in the final period. Jordan Staal and rookie Mark Letestu also scored for the Penguins against US Olympic goalie Ryan Miller. After protecting a two-goal lead for much of the period, the Penguins were holding on at the end. Jason Pominville scored on a power play with 3 minutes remaining. Derek Roy and Thomas Vanek scored 48 seconds apart to give Buffalo the lead against Pittsburgh's Marc-Andre Fleury, a member of Canada's Olympic team. Tim Kennedy made it 3-1. Ducks 3, Panthers 0: At Sunrise, Florida, Jonas Hiller made 33 saves to earn his second shutout of the season as Anaheim beat Florida. Ryan Getzlaf, Teemu Selanne and Corey Perry each scored for the Ducks, who wrapped up a six-game road trip and snapped Florida's five-game winning streak at home. Hiller's other shutout this season came on Nov. 5 in a 4-0 Anaheim win over the Nashville Predators. Florida's Tomas Vokoun stopped 22 shots. Hiller was perfect in his first game since signing a four-year contract extension Saturday, that will keep Switzerland's Olympic goalie off the free-agent market this summer. Flyers 3, Flames 0: At Calgary, Alberta, Mike Richards scored twice and Ray Emery made 18 saves for his third shutout of the season as Philadelphia defeated new-look Calgary. Richards broke a scoreless tie at 10:15 of the second off a series of lucky bounces. Simon Gagne knocked the puck out of the air and off Flames defenseman Jay Bouwmeester. It bounced right to Richards, who ripped a high shot past Miikka Kiprusoff. Oilers 4, Hurricanes 2: At Edmonton, Alberta, Marc Pouliot and J.F. Jacques had a goal and an assist each as Edmonton ended a 13-game losing streak by beating Carolina. Gilbert Brule and Sam Gagner also scored for the Oilers, who went 0-11-2 in their previous 13 games. Edmonton was one loss shy of tying the franchise-worst winless streak of 14 games set in 1993. The Oilers have just two wins in 22 games.