BUFFALO – Addressing a reporter after the morning skate Friday, right winger Jake Voracek said the Flyers were able to bounce back from their recent 10-game losing streak when they went out for a team dinner and cleared the air in Calgary.

"We got drunk, that helped," he told NHL.com, adding that the players went over things they needed to do better and had some "heart-to-hearts."

Maybe they should have had a few adult beverages the night before playing the lowly Buffalo Sabres at the KeyBank Center on Friday.

Sabres 4, Flyers 2.

The Flyers wasted a strong performance from goalie Brian Elliott and missed a chance to move within one point of a playoff spot.

"We didn't win nearly enough puck races or puck battles," coach Dave Hakstol said after Buffalo won for just the fourth time in the last six weeks. "Brian Elliott gave us a chance to salvage the game in the third period, but we didn't do it. We've got to be better than we were tonight."

All six goals,  including two empty-netters by Buffalo, were scored in the final period.

The Flyers (15-13-7) seemed a step slower than the Sabres (9-19-7) all night, failed to connect on their first four power plays — including a 40-second two-man advantage in the third period when they had zero shots — and they lost for just the second time in their last nine games.

"They competed a little bit harder than us," said Elliott, who stopped 33 of 35 shots. "They were probably the better team and deserved to win tonight."

Buffalo snapped a scoreless tie when Ryan O'Reilly's bad-angle shot from behind the goal line beat Elliott to the short side with 16 minutes and 1 second left in regulation.

"I let that first one in and then we kind of sparked," Elliott said. "That can't really happen. We have to take it to them before we get down a goal."

Evander Kane tipped in Josh Gorges' point drive to make it 2-0 with 8:52 remaining.

After Michael Raffl's tip-in, power-play goal made it 2-1 with 2:10 left, the Sabres made it 3-1 on Jack Eichel's empty-net tally with 67 seconds remaining. Shayne Gostisbehere cut it to 3-2 with 31.9 seconds left, but Eichel's second empty-netter closed the scoring just before the final buzzer.

The Sabres outplayed the Flyers in the first period, outshooting them, 16-11, and having more quality scoring chances. Kane had the best opportunity but was stopped by Elliott on a penalty shot with 16:18 left in the first.

Kane intercepted a Robert Hagg pass and went in on a breakaway and was pulled down by Gostisbehere, resulting in the penalty shot. But Elliott – who took a 12-1-2 career record against Buffalo into the game — stood tall and made a glove save.

The Flyers were outworked in the first 40 minutes by a team that took a 4-10-2 home record into the game, a team at the bottom of the Eastern Conference.

"We weren't hard on pucks, weren't good on the forecheck, and had too many turnovers," defenseman Travis Sanheim said. "Hopefully we'll be much better" Saturday in Columbus, where they have lost 10 straight.

The Flyers had no sustained pressure in the first period and made life easy on Buffalo goalie Robin Lehner. The Flyers' best chance – a two-on-one shorthanded rush between Val Filppula and Raffl — was broken up by Eichel's hustling backchecking.

"We lost a lot of battles. It's frustrating, but we have to put this behind us and be ready for [Saturday]," said captain Claude Giroux, who had a pair of assists.

Elliott, playing in his 400th career game, continued to shine in the second period and was the only reason the Flyers didn't fall behind. Twenty seconds into the period, he made a tough spin-around save on Marco Scandella's point blast. With 13 minutes to go in the second, he denied a three-shot Buffalo flurry, twice denying Kane and robbing Kyle Okposo on a one-timer from the slot.

Lehner stopped Nolan Patrick on a semi-breakaway with 3:28 left in the second, and with the puck bouncing, Sanheim couldn't deposit the rebound. So the teams headed into the third period locked in a scoreless tie.