Jeff Skinner has his 21st goal of the season, and Zach Boychuk, Pat Dwyer and John-Michael Liles also have scored as the Canes lead 4-1 after two periods.
Liles, playing against the team that traded him to the Canes on New Year's Day, had the only second-period score. Taking a pass from Boychuk on a two-on-one rush, he ripped a blocker-side shot past Leafs goal James Reimer for his first goal of the season.
Boychuk gave the Canes an early lead with his first of the season, backhanding a shot past Reimer. The puck may have hit Leafs defenseman Tim Gleason, who had fallen in the slot and attempted to block the shot.
Gleason, went to the Leafs in Liles trade, was in the starting lineup for Toronto in his return to PNC Arena.
Skinner's ninth power-play goal of the season came after the Leafs' Nikolai Kulemin was called or hooking. Elias Lindholm, back in the lineup after returning from the World Junior Championship, passed to Jordan Staal in the low slot for a shot. Reimer made the stop but Skinner came backdoor to bat in the puck and extend his point streak to a career-high six games.
Skinner now has 17 goals in the past 17 games. It also was the 300th career point for Staal, who soon would have No. 301.
The Leafs made it a 2-1 game on Joffrey Lupul's goal -- Lupul converting a nice pass from Mason Raymond. But the Canes answered on Dwyer's goal for a 3-1 lead.
Staal beat Leafs defensman Cody Franson in the corner to set up an offensive sequence that ended with Dwyer firing a shot through traffic. Staal and Nathan Gerbe earned assists.
The Canes finished a 15-8 edge in shots as Tuomo Ruutu and Staal had good scoring chances after Dwyer's goal.
The Canes are playing a second straight game without captain Eric Staal, who is out with a lower-body injury. Their game Tuesday at Buffalo was postponed because of the snowy,danergous weather in the Buffalo area.