Jimmy Vesey, Jeff Skinner, Casey Mittelstadt and Victor Olofsson also to help Buffalo improve to 12-10-4. Linus Ullmark made 25 saves.
The high-scoring game was the first half of a home-and-home series, with the two sides meeting again Saturday night in Toronto.
John Tavares had two goals for the Maple Leafs, and Dmytro Timashov and Kasperi Kapanen also scored. Michael Hutchinson made 30 saves. It was Toronto’s first loss under new coach Sheldon Keefe, who replaced Mike Babcock on Nov. 20.
The Leafs were all over Buffalo early on, opening up a 2-0 lead, before the Sabres turned the tables and answered with four straight goals in the second period.
Tavares opened the scoring with 1:06 remaining in the first period, collecting a setup from winger Ilya Mikheyev in the right circle for an easy finish. Tavares picked up his second of the game 1:21 into the second, poking home a rebound after his initial shot fell wide.
Skinner began Buffalo’s surge 5:45 into the second, taking a drop pass from Johan Larsson and beating Michael Hutchinson to the glove side for his 10th goal of the season.
Eichel evened the score midway through the second, racing out of the penalty box and ripping a hard wrist shot into the top corner. It was his 15th goal of the year.
Mittlestadt made it 3-2 with 7:52 left in the second, redirecting a shot from the point by defenceman Marco Scandella. It was Mittlestadt’s first point since Oct. 22, snapping a streak of 15 games.
Olofsson made it 4-2 before the end of the second on a terrific setup by Eichel. The Buffalo captain danced in the offensive zone — taking the puck from Toronto defenceman Jake Muzzin and spinning him around — before spotting Oloffson in the right circle, and the defenceman beat Hutchinson high to the glove side.
Timashov got the Leafs back in it 6:50 into the third, burying Jason Spezza’s feed from the slot with a one-timer.
Vesey restored Buffalo’s two-goal lead midway through the third, taking advantage of a bad Toronto miscue. Vesey stole the puck from Andreas Johnsson in the slot and beat Hutchinson with a deke through the goalie’s legs.
Kapanen made it 5-4 with 7:50 remaining, tucking a shot inside the right post on a pass from Nic Petan.
Eichel sealed it with an empty-net goal with 27 seconds remaining.
NOTES: The Sabres again dressed seven defenceman and 11 forwards. It’s a strategy that coach Ralph Krueger has utilized in recent games. C Curtis Lazar, LW Evan Rodrigues and C Jean-Sebastien Dea were scratched for Buffalo. … Sabres D Rasmus Rahlin remains out with a concussion. Dahlin is on injured reserve. … He missed his second game after being injured on Nov. 25 against Tampa Bay. … C Alexander Kerfoot, C Nicholas Shore and D Martin Marincin were scratched for Toronto.
The Maple Leafs and Sabres meet again Saturday night in Toronto.