BUFFALO, N.Y. — The Buffalo Sabres knew they had a prime opportunity to bust out of their goal-scoring slump and did just that in a 4-2 win over the Calgary Flames on Monday night.

With the Flames playing their second game in two days, the Sabres reached three goals in a game for the first time in 11 chances, since a 3-1 win at Winnipeg on Oct. 30. Kyle Okposo, Johan Larsson, Matt Moulson and Marcus Foligno scored for Buffalo, which has won consecutive games for just the second time this season.

"I just think it's huge getting four goals," Okposo said. "That's a team that's coming off a back-to-back and if we played well we thought that we could get those two points and we did that. We executed our gameplan and were able to get two big points. So hopefully we can take that confidence into Wednesday and roll with it."

The Flames took a 1-0 lead into the second period, but the Sabres answered with three goals in a span of 101 seconds in the second.

Penalties to Dougie Hamilton and Troy Brouwer at 10:02 gave the Sabres a 5-on-3 advantage, which they converted into a pair of goals. First, Okposo took a pass from Sam Reinhart and fired a wrist shot into the back of the net. On the Sabres' next shot, Larsson redirected Evander Kane's wrist shot between the legs of Flames goalie Brian Elliott.

Buffalo wasn't finished. Brouwer took another penalty with 7:04 remaining in the second, and Moulson cashed in with his sixth power-play goal of the season, giving him a share of the league lead in power-play goals.

"It's a lot of goals in a short amount of time for our team," Bylsma said.

Flames rookie Matthew Tkachuk scored 22 seconds into the third to cut the Sabres' lead, but Buffalo answered two minutes later when Foligno slid an odd-angle backhand shot behind a sprawling Elliott.

Tkachuk had a goal and an assist and Mikael Backlund also scored for Calgary, which was coming off a 3-2 win at Detroit on Sunday night. Buffalo got two assists each from Reinhart and Taylor Fedun, who now has four assists in three games since being called up from the AHL.

Robin Lehner had 29 saves for the Sabres, and Elliott turned away 28 shots. Elliott has now allowed 22 goals and is 0-6 in his last six starts for the Flames.

Calgary's six penalties were its most in a game since it had eight penalties in a 4-2 loss to Carolina on Oct. 20.

"It was everything," Tkachuk said."We did everything wrong tonight. We put ourselves in a bad position to kill too much tonight. There's probably some wear and tear on some players that penalty kill a lot, so overall, just not a good game."

Buffalo had scored one goal or fewer in regulation seven times in its previous nine games, so the scoring output was overdue.

Meanwhile, the Sabres are in line to finally get some reinforcements.

Top-line centre Ryan O'Reilly is scheduled to return by the end of the week. He missed his fifth straight game with an oblique injury.

And Jack Eichel might not be far behind. Out since spraining his left ankle a day before the season opener, Eichel skated individually for a seventh consecutive day. The next step is for him to begin practicing with the team which, barring a setback, could happen by the end of the week.

NOTES: The Sabres are now 17-3-2 in their last 22 home games against the Flames, with the last regulation home loss coming on March 15, 1996. ... The Sabres' three goals in a span of 1:41 in the second period were the team's quickest three goals since Buffalo scored three in 1:08 against Boston in 1998, according to the Elias Sports Bureau. ... Flames F Kris Versteeg (groin) missed his ninth straight game, but coach Greg Gulutzan said there's a good chance he'll be ready to return on Wednesday, when Calgary plays at Columbus.

NEXT UP

Flames: Play at Columbus on Wednesday night.

Sabres: Close a four-game homestand hosting Detroit on Wednesday night.