Scott Wilson scored in the first period for the Sabres (12-26-9), who won for the first time in three games and are 2-6-1 in their past nine.
"I think that that's the way we need to play in order to win," Eichel said. "We did what we needed to do to win. Just need to find it on a consistent basis, that compete and that desperation shift in and shift out."
WATCH: [All Sabres vs. Flames highlights]
Chad Johnson made 32 saves for Buffalo to earn his second win of the season. Johnson, a Calgary native, played 36 games for the Flames last season and signed a one-year contract with the Sabres on July 1.
"There's more motivation there and a little more desire to kind of … not stick it to them, but when they play me, I'm sure they want to compete a little bit harder knowing me and I want to compete a little bit harder knowing them," Johnson said. "It was just a fun experience and it's nice to get the win. It's been a tough year so it's nice to get a win, especially tonight in my hometown."
Matthew Tkachuk scored, and Mike Smith made 31 saves for Calgary (25-16-6), which is on a nine-game point streak but is 0-0-2 coming out of its five-day break. The Flames entered the break on a seven-game winning streak.
"In the end, you get a point again and you just keep pushing forward, but that's a game there you'd like to have two in," Smith said.
Eichel one-timed a pass from Rasmus Ristolainen by Smith just as a Sabres power play ended. Eichel has four goals and six assists in a six-game point streak, and 21 points (11 goals, 10 assists) in his past 14 games.