BUFFALO, NY -- Kyle Okposo had a goal and an assist, and Robin Lehner made 29 saves to lift the Buffalo Sabres to a 4-2 win against the Calgary Flames at KeyBank Center on Monday.
Johan Larsson, Matt Moulson and Marcus Foligno also scored for the Sabres, who have won two in a row after losing six straight games.
Mikael Backlund and Matthew Tkachuk scored, and Brian Elliott made 28 saves for the Flames, who have split the opening back-to-back of a season-long six-game road trip.
"We didn't do enough things on a consistent basis to win a back-to-back in this league," Calgary coach Glen Gulutzan said. "It's on us."
Buffalo scored three power play goals in a 1:41 span in the second period to jump out to a 3-1 lead.
With a two-man advantage, Okposo took a cross-ice pass from Sam Reinhart and snapped a shot from the slot by Elliott to tie the game at 11:27. Larsson added another 36 seconds later, tipping Evander Kane's point shot between Elliott's legs to put the Sabres up 2-1.
"Special teams has been an issue, I think," Flames captain Mark Giordano said. "Extended 5-on-3's are tough when they're that long. But again, we've got to kill them. And then when something bad does happen we can't dwell on it, we can't let it pile up like we did there. That was just one after the other. It's not good enough."
Moulson scored again at 13:08 to extend the lead to 3-1.
"I felt for the first 30 minutes we're playing well enough on the road to win," Gulutzan said. "That's the frustrating part.
"A full two-minute 5-on-3 is hard to kill in the National Hockey League. You get a 35, 40 second one and you get one icing you can almost get it down. Two minutes … two straight minutes is tough. I thought they did a good job with the 4-on-3 and did a good job for the first minute or close to there of the 5-on-3 and we make one mistake and it ends up in our net.
"It was the bounce-back really, for me. Two-minute 5-on-3 and you give up one and you get out of there and now you're 5-on-4 and you've got about a minute left to kill … you've got to get that done and then move forward.
"If you gave up one that's the way it goes when you're down for that long. But we didn't respond after that."
Tkachuk pulled Calgary to within 3-2 just 22 seconds into the third period when he redirected Dougie Hamilton's slap-pass by Lehner as a Flames' power play expired. The assist is Hamilton's fourth in the past two games.
Video: CGY@BUF: Tkachuk roofs Hamilton's feed early in 3rd
Foligno restored the two-goal lead less than two minutes later. After fumbling the puck at the top of the crease, he slid a backhand across the goal line and by Elliott's skate from a sharp angle at 2:13.
"I liked our first few shifts in the third," Gulutzan said. "We were fighting back. But then our follow-up shift after the goal we give it right back. To me that's just finding a way to lose. We've got to be stronger than that mentally. You get that goal and you've got to follow that up. You can't have a lapse like that."
Backlund scored his third goal of the season 5:21 into the game to put the Flames up 1-0. Hamilton broke up an odd-man rush in Calgary's end to put Calgary on a 3-on-1, and Michael Frolik fed Backlund a pass that he lifted over Lehner's double-pad stack.
Video: CGY@BUF: Backlund puts home saucer pass from Frolik
It's the second time in as many nights that Frolik and Backlund have connected on a goal. Backlund scored the game-winner at 12:14 of the third period in the Flames' 3-2 win over the Detroit Red Wings on Sunday.
NOTES: Garnet Hathaway and Deryk Engelland each had a game-high five hits. Mark Giordano had a game-high six blocks. Elliott made his first start in five games. Defenseman Brett Kulak and forward Linden Vey were scratched for the Flames. Forwards Kris Versteeg (groin), Lance Bouma (upper body), and Johnny Gaudreau (finger) did not play because of injury.
UP NEXT: The Flames visit the Columbus Blue Jackets at Nationwide Arena on Wednesday (5 p.m. MT; SNW, SN960).