McDonagh, who played 17:08 in his return after missing four games with an upper-body injury, put the Predators ahead 6-1 at 15:52 from the high slot, chasing Anderson from the net.
Thompson brought Buffalo to within 6-2 at 17:17 with a one-timer from the left circle on a 5-on-3 advantage. It was his 43rd goal of the season and first in nine games.
Skinner narrowed it to 6-3 when he lifted his own rebound over a sprawled Saros from in front at 7:45 of the third period for his 30th goal of the season, but Duchene scored into an empty net at 17:37 for the 7-3 final.
"You have to have the ability to keep things in the game simple, and that's what we're going to learn through this," Buffalo coach Don Granato said. "You'll learn the greater respect for how to keep the game simple, and it will be situational awareness. When you have a team that's a growing team, that's what they have to learn. … I stand here with conviction knowing that we will be better through this."
NOTES: Evangelista had three points in 6:01, the fastest by a rookie in Predators history (Andy Berenzweig, 6:40, Dec. 29, 2001). … Forward Rasmus Asplund had one shot in 11:59 in his first game against the Sabres since they traded him to the Predators on March 3. He played 164 games in four seasons with Buffalo. … Rasmus Dahlin reached 50 assists to become the first Buffalo defenseman to do so since Phil Housley in 1989-90.