Carolina was seriously outnumbered for a while, but goalie Cam Ward was sharp enough to keep the Hurricanes' winning streak going.
Staal had the 12th hat trick of his career for the Hurricanes, who held on to beat the Anaheim Ducks 4-2 on Saturday night for their season-best fourth straight victory.
Staal scored two power-play goals during his natural hat trick. Jussi Jokinen had two assists, and Ward stopped 43 shots, including 39 in a row.
"When we have needed (Ward) to make the saves, he has," Staal said. "He's one of the best in the league, and we expect that every night, and take it for granted some nights. But he was big for us, especially at the end."
Ryan Getzlaf scored his second goal with 1:48 left to pull the Ducks to 3-2 before Joe Corvo scored an empty-netter in the final seconds.
The Hurricanes were back at home after winning the final three games of a five-game trip. Carolina rallied from multigoal deficits in its previous two games, trailing Florida by three before winning 4-3 and then erasing a two-goal hole to beat Atlanta 3-2 in a shootout.
This time, the Hurricanes were the ones trying to preserve a late lead - and a series of whistles made things interesting.
The Hurricanes were called for three penalties in a 30-second span of the final 3:01. The Ducks pulled Jonas Hiller for an extra attacker, creating a 6-on-3 skating advantage.
"I was trying to kind of sit back and just focus on the shot, because 6-on-3, there's a lot of seam passes from post to post, and you don't want to be caught too far out in front of your own net," Ward said.
Getzlaf made it a one-goal game when his hard slap shot beat Ward, who stopped the final three shots he faced. Corvo then scored with 4.7 seconds left to send the Ducks to their second straight loss.
"The opportunities were definitely there, and Cam played the way he can," Getzlaf said.
The second period wasn't two minutes old before Staal finished his second hat trick of the season. With Carolina applying relentless pressure, the captain took a short pass from Erik Cole and slid the puck past Hiller for his 16th goal to make it 3-1 at 1:41.
Staal put Carolina up 2-1 with 26.9 seconds left in the first with his second power-play goal of the period. Jamie McBain uncorked a blast that ricocheted hard off the back boards, and Staal - who was parked near the right post - tapped it in to give the Hurricanes their first lead. That came after he tied it at 1 with 12:33 remaining.
"Staal has the ability to take the game over," Ward said. "He really picked up his play when we were down one goal and put the team on his shoulders. There's a reason why he's one of the more dominant players in the league, and you got to see it."
The Hurricanes entered with one power-play goal in 26 chances before Staal scored on Carolina's first two opportunities. By the end of the first period, the Ducks had allowed nine power-play goals in 33 short-handed situations.
Hiller finished with 28 saves for the Ducks, and Getzlaf gave them a 1-0 lead about 2 1/2 minutes in when he snapped a rebound past Ward for his 12th goal and fourth in four games. It was the second straight rough first period for the Ducks. Anaheim allowed three first-period goals in a 3-2 loss to the NHL-worst New York Islanders on Thursday.
"We have to play that strong forecheck game, and we had it after we got motivated," Ducks coach Randy Carlyle said. "But we were down two goals, and then we got one back, and we had numerous chances, but just didn't get it across the line."
NOTES: Carolina is 6-0 when scoring at least two power-play goals. ... The Hurricanes are 8-4-2 against the Western Conference, the best record among Southeast Division teams. ... RW Teemu Selanne was back in the lineup for Anaheim after missing four games and nine of 13 with a strained groin. ... The Ducks sent RW Dan Sexton to Syracuse of the AHL.
|Ryan Getzlaf (12) ASST: Corey Perry (21), Bobby Ryan (13)|
1 - 0 ANA
|PPG - Eric Staal (14) ASST: Jussi Jokinen (17), Joni Pitkanen (16)|
1 - 1 Tie
|PPG - Eric Staal (15) ASST: Jamie McBain (8), Jussi Jokinen (18)|
2 - 1 CAR
|Eric Staal (16) ASST: Erik Cole (7), Jeff Skinner (15)|
3 - 1 CAR
|PPG - Ryan Getzlaf (13) ASST: Lubomir Visnovsky (23), Corey Perry (22)|
3 - 2 CAR
|SHG - EN - Joe Corvo (6) ASST: Brandon Sutter (6)|
4 - 2 CAR
|Power Play %||15.7%||18.8%|
|% on Road||15.4%||16.1%|
|% at Home||16.1%||21.6%|
|Ryan Getzlaf Cross checking against Erik Cole|
|Joni Pitkanen Holding the stick against Toni Lydman|
|Bobby Ryan Hooking against Tim Gleason|
|Toni Lydman Hooking against Patrick Dwyer|
|Jay Harrison Hooking against Ryan Getzlaf|
|Tuomo Ruutu Interference against George Parros|
|Joe Corvo Hooking against Brandon McMillan|
|Joe Corvo Roughing against Corey Perry|
|Brandon Sutter Closing hand on puck|
|Eric Staal Cross checking against Ryan Getzlaf|
|Brandon Sutter Roughing against Bobby Ryan|
|Corey Perry Slashing against Joe Corvo|
|Corey Perry Misconduct (10 min)|
|Bobby Ryan Roughing against Brandon Sutter|