Mitchell Marner had two goals and an assist, and Auston Matthews had a goal and an assist in his return from a two-game suspension for Toronto (39-18-5). Erik Kallgren made 28 saves.
"I think it just kind of took me a period to get going," Matthews said. "Even still, I felt maybe just like my timing was a little bit off, a quarter second off. I think that is kind of to be expected, but I think halfway through the game I kind of started feeling more like myself. I had some good opportunities tonight (10 shots). I hit a couple posts. All in all, I think it was a good game for me to get back into."
Tanner Jeannot gave the Predators a 1-0 lead at 13:46 of the first period, shooting glove side from the left circle on a 3-on-2 rush. He leads NHL rookies with 21 goals this season.
Tolvanen made it 2-0 at 1:48 of the second period on a redirection of Jeremy Davies' shot.
Marner scored his 25th goal of the season on a one-timer in the slot to cut it to 2-1 at 8:04, but Matthias Ekholm responded to make it 3-1 at 10:52, beating Kallgren short side with a one-timer from along the right boards.
Matthews cut it to 3-2 at 3:41 of the third period, tucking in his own rebound near the left post. He leads the NHL with 46 goals, one shy of his career high he set in 2019-20.
"I thought it took him a while to really get going in the game, but once he did, he was real good," Toronto coach Sheldon Keefe said. "He could have had three or four tonight. He could have changed the game. He gets a huge goal for us in the third, but he could have had a bunch more. He did his thing."