CALGARY -- Jack Eichel scored 1:10 into overtime to give the Buffalo Sabres a 4-3 win against the Calgary Flames at Scotiabank Saddledome on Wednesday.
Evan Rodrigues, Rasmus Dahlin and Jake McCabe scored, and Linus Ullmark made 30 saves for the Sabres (24-17-6), who ended their losing streak at three games.
"I think when you just put your head down and work like we did tonight, it goes to show what you can do," said Eichel, who has scored in his past four games against Calgary. "For us, this is a game that we should use moving forward as kind of a building block of what we can do every night to give ourselves the best chance to win."
[WATCH: All Sabres vs. Flames highlights]
Johnny Gaudreau, Matthew Tkachuk and Noah Hanifin scored, and David Rittich made 19 saves for the Flames (30-13-5), whose winning streak ended at five games. Calgary has earned at least a point in 10 of the past 11 games (8-1-2).
Video: BUF@CGY: Gaudreau beats the horn with rebound PPG
"We like where we're at right now," Hanifin said. "I thought tonight was more of a complete game. We played a good 60 minutes tonight. There are obviously some things we can clean up or work on, but for the most part, it was a good game."
Eichel, who had an assist on Dahlin's goal, shot over Rittich's shoulder to give Buffalo its third win in the past 10 games. He had been held without a point in his previous five games.
"It doesn't seem like it's been going for me lately in terms of the bounces and maybe getting chances and just not finishing," said Eichel, whose 51 points (16 goals, 35 assists) lead the Sabres. "It's nice to see that one go in. I just thought our team did a great job."
Video: EA Sports Overtime Winner: Eichel wins it for Sabres
Tkachuk scored on the power play when he finished a three-way passing play with Elias Lindholm and Gaudreau to put Calgary up 2-1 at 6:49 of the third period.
"I don't really necessarily like our third period too much," Tkachuk said. "We had the lead, 2-1, and they score the next shift. That can't happen."
Dahlin scored to tie it 2-2 at 7:34. He has six points (one goal, five assists) in a five-game point streak that is tied with three others for the longest by an 18-year-old defenseman in NHL history.
Video: BUF@CGY: Dahlin blasts one-timer past Ullmark
McCabe put Buffalo up 3-2 at 10:56 with a shot from the point through traffic, and Hanifin tied it 3-3 with a point shot at 11:34.
Gaudreau scored on the rebound of a Lindholm shot on the power play with one second remaining in the first period to put Calgary up 1-0. He leads the Flames with 71 points (28 goals, 43 assists) and has 20 points (nine goals, 11 assists) in a nine-game point streak.
Rodrigues tied it 1-1 at 8:45 of the second period when he went in on a breakaway off a pass from Casey Mittelstadt and beat Rittich five-hole with a backhand.
"I think we stuck with our game plan," Rodrigues said. "We stuck with what our standard is and we didn't deviate from our plan. They made some plays in the second, but we stuck with it. We got a goal and we got rolling from there."
They said it
"Every win is very important for us at this time of the season. We want to get to the [Stanley Cup] Playoffs, and getting to the playoffs means winning these games. We had the opportunity today to get it after 60 minutes, but unfortunately, we had some bad bounces. We stuck with it and came out victorious." -- Sabres goaltender Linus Ullmark
"In the third period this [season], we've done a pretty good job at coming back and staying with it. Especially in the third period, I thought we had a lot of really good looks and playing the right way. Unfortunately, we didn't capitalize on all the chances, but they were there." -- Flames defenseman Noah Hanifin
Need to know
The Sabres are 10-3-1 against Pacific Division teams this season. ... Dahlin leads NHL rookie defensemen with 26 points (five goals, 21 assists). ... The three other defensemen who had a five-game point streak at 18 years old are Aaron Ekblad (Dec. 1-8, 2014, for the Florida Panthers), Phil Housley (Feb. 12-20, 1983, for the Sabres) and Bobby Orr (Nov. 19-26, 1966, and Jan. 26-Feb. 4, 1967, for the Boston Bruins). ... Gaudreau reached 70 points in his 48th game of the season. That is third fastest in Flames history behind Kent Nilsson (46 games in 1980-81) and Bob MacMillan (47 games in 1978-79). ... Tkachuk has six goals and two assists in a six-game point streak. ... Calgary defenseman Mark Giordano had an assist on Gaudreau's goal to extend his point streak to five games (three goals, six assists). ... Flames forward Derek Ryan played his 200th NHL game.
Sabres: At the Vancouver Canucks on Friday (10 p.m. ET; SNP, MSG-B, NHL.TV)
Flames: Host the Detroit Red Wings on Friday (9 p.m. ET; ESPN+, TVAS, SNW, FS-D+, NHL.TV)
Video: Eichel's OT winner powers Sabres past Flames, 4-3