Sebastian Aho tied it 1-1 at 7:02 of the second period on a redirection of Ethan Bear's shot from the point.
Steven Lorentz then gave Carolina a 2-1 lead at 9:25, winning a battle in the slot with Maple Leafs defenseman Rasmus Sandin before spinning and beating Campbell five-hole.
"I was fortunate enough to get a good step and I won the body positioning against their D-man," Lorentz said. "I just wanted to get the puck to the net. I didn't know if there would be a rebound or not, but I'm very fortunate it went in."
Said Hurricanes coach Rod Brind'Amour, "[Campbell] was playing really well. To that point he was the difference in the game. We were able to get a couple that found their way in. Once you get ahead, the game changes a little bit."
Nino Niederreiter pushed the lead to 3-1 at 16:49 of the second. Slavin stickhandled past Mitchell Marner before passing to Niederreiter, who skated out from along the goal line and slid the puck five-hole again on Campbell.
"I felt really good, but those three goals, I have the ability to make those saves," Campbell said. "(If) I make those saves, we win the game."