CALGARY, Alberta — Jack Eichel battled through some misfortune before scoring the overtime winner for the Buffalo Sabres in a 4-3 victory over the Calgary Flames on Wednesday.

Seconds after putting a backhand off the post, Buffalo's captain rifled a low shot past Dave Rittich, on the Calgary goaltender's glove side 70 seconds into OT.

Eichel also rang the puck off the iron in the first minute of the game. He was all alone in front of Rittich with five minutes remaining in the first period, but his shot was over the net.

"Obviously you put a lot of pressure on yourself," Eichel said. "When things aren't going well, you want to be one of the guys who makes a difference.

"I think that's when you start gripping your stick and start thinking about it a little too much. Hopefully, that goal can get me going again. It's just what I needed."

Jake McCabe, Evan Rodrigues and Rasmus Dahlin also scored for Buffalo, which halted a four-game losing skid.

Buffalo goaltender Linus Ullmark earned the start and the win with 30 saves after relieving Carter Hutton in Monday's 7-2 loss to the Edmonton Oilers.

The Sabres scored three goals on a total of three shots in the third and overtime periods.

"When we needed goals, we found ways to get them," Eichel said. "I think as a group, we probably weren't the most confident after losing 7-2 in Edmonton.

"This is a game we should use moving forward as kind of a building block of what we can do every night to try and give ourselves the best chance to win."

Johnny Gaudreau had a goal and an assist for Calgary, which snapped a five-game win streak.

Matthew Tkachuk and Noah Hanifin also scored for Calgary, with Elias Lindholm contributing a pair of assists.

After winning four straight starts, Rittich had 19 saves in the loss.

"I liked our game. We only gave up two shots in the third," Flames head coach Bill Peters said. "Special teams were good, two-for-three on the power play and three-for-three on the penalty kill.

"I think we held onto the puck a little too much tonight and tried to force some plays where we had other options available and could have taken what was given.

"We didn't capitalize on the three-on-one in overtime and they came back the other way and ended it."

The Flames took their point and continue to battle with the San Jose Sharks for first in the Pacific Division.

NOTES: Gaudreau became the third-fastest player in Flames history to reach the 70-point mark, doing it in his 48th game of the season. Kent Nilsson did it in 46 games in 1980-81, and Bob MacMillan in 47 in 1978-79. ... Calgary defenseman Travis Hamonic (family illness) and forward James Neal (illness) were scratched.

UP NEXT:

Sabres: At Vancouver on Friday night.

Flames: Host Detroit on Friday night.