Jack Eichel fondly remembers sitting with his dad in the TD Garden stands, watching his favorite hockey players.

The 22-year-old from nearby North Chelmsford was the star attraction Sunday night, and he didn't disappoint.

Eichel had two goals and two assists, including the primary helper on Jeff Skinner's winning goal with 3:13 remaining, to lead the Buffalo Sabres past the Boston Bruins 4-2.

"I just picture myself in the crowd watching guys that I loved watching when I was a kid," Eichel said. "You know, coming here to watch Sid (Crosby) or (Alex Ovechkin). I picture myself in the same situation. It's always special coming back home."

Eichel set up Skinner's second goal of the night and his team-leading 24th of the season with a feed behind the net. He added an empty-net goal with 24.2 seconds left to help Buffalo salvage its two-game road trip after a 4-3 shootout loss Saturday at Washington.

"It's a big win for our group in the point of the season that we're at," said Eichel, who played at Boston University before being drafted No. 2 overall by the Sabres in 2015. "I thought we played a really good game after less than 24 hours."

Linus Ullmark had 35 saves for the Sabres (20-9-5), who had dropped five of seven before taking three of four points on the road.

"(It says) that we're a terrific team. Top of the league," Ullmark said. "So we've got to stick with it."

Steven Kampfer and Torey Krug scored, and Tuukka Rask made 23 saves for the Bruins (17-12-4). Boston has allowed three or more goals in three straight games, including Saturday's 5-3 loss in Pittsburgh.

"To be honest, maybe we're giving up a little bit more (chances)," Krug said. "But it's just big momentum shifts in the game where we need a big play, and all of the sudden it's a big play for the other team."

Eichel drew cheers from some hometown fans after his wrist shot beat Rask to give Buffalo a 2-1 lead with 14:17 remaining. He has five goals and five assists in six games as a visitor to TD Garden.

"I just couldn't match up his speed," Rask said of Eichel's first goal. "He was coming so fast and I don't know if I got flat footed or what, but he's a good player."

Krug tied it with 6:49 to play, scoring his third goal in five games off David Krejci's pass through the slot.

Moments after Ullmark's diving glove save on Ryan Donato astonished the crowd, Skinner scored his first goal with 16:42 left in the second period off Eichel's pass from behind the net.

The Bruins tied the game exactly 2 minutes later after Joakim Nordstrom wrapped around the Sabres' net and fed a charging Kampfer for his first goal since rejoining the Bruins in an offseason trade.

Brad Marchand appeared to give Boston a go-ahead goal with 8:02 left in the second after poking the puck past Ullmark during a scrum, but the refs had blown the whistle and deemed it a non-reviewable play.

Donato drew a penalty shot with 3:29 left in the opening period after Matt Hunwick tripped him on a breakaway. On the penalty try, Donato slipped and jammed the puck against Ullmark's pad.

"If I got it up, I would have scored," Donato said.

NOTES: Eichel and Skinner both extended their points streaks to six games. ... Donato's penalty shot was the first of his career and Boston's first since Tim Schaller's unsuccessful attempt last Dec. 18 vs. Columbus. Ullmark had never faced a penalty shot. ... Bruins C Patrice Bergeron (rib), D Zdeno Chara (lower body) and D Kevan Miller (larynx) participated in Sunday's morning skate. Bergeron could rejoin the team for practice as soon as Wednesday, coach Bruce Cassidy said. ... Hunwick made his Sabres debut after missing the first 29 games of the season recovering from a neck injury. Hunwick spent his first three-plus NHL seasons with the Bruins.

UP NEXT

Sabres: Host Florida on Tuesday night.

Bruins: Visit rival Montreal on Monday night.