BUFFALO -- Brendan Gallagher scored the game-winning goal in his return to the lineup for the Montreal Canadiens in a 3-1 victory against the Buffalo Sabres at KeyBank Center on Thursday.
"First period for us was pretty sloppy," Gallagher said. "We just kind of needed to make a little bit of adjustment. We started putting pucks behind them. Their gaps were really tight early on, we were turning pucks over, there wasn't much flow, but I think second period on I felt more comfortable and I think our team started to play more our game and we were pretty happy with the way it went after that."
Tomas Tatar had a goal and an assist, and Carey Price made 20 saves for Montreal (23-22-7), which has won five of seven.
[WATCH: All Canadiens vs. Sabres highlights]
Jack Eichel scored his 30th goal of the season for the Sabres (22-22-7), who have lost three in a row. Carter Hutton made 27 saves and is winless in his past 12 starts (0-8-4).
"I think everyone overthinks it but me, so I just keep playing," Hutton said. "I put the work in and I've been playing for a while and I have a lot of experiences to draw on, so I just keep with it.
Video: MTL@BUF: Kovalchuk follows through on blocked shot
"It's obviously frustrating, right? I'm not going to sit here and be happy with a loss. At some point we got to just stick to it here. We got to realize other teams are more desperate than we are, and we have to find a way to answer the bell here, especially at home."
Eichel finished off some quick passing on the power-play from the left circle to give the Sabres a 1-0 lead at 7:11 of the first period. It is the first time Eichel has scored 30 goals in the NHL. His previous high was 28 last season.
Ilya Kovalchuk picked up a loose puck after his shot was blocked and beat a screened Hutton far side to tie it 1-1 44 seconds into the second period.
"We just came out flat in the beginning of the second period. It took a while for us to grind ourselves back into the game," Sabres coach Ralph Krueger said. "I thought there was a reaction in the making, but we just did not get to Price in the way we needed to win this game tonight and it's extremely disappointing where we're standing right now. But the start was good. … and it's always a combination of the opposition doing things better and us not being able to sustain that, and we need to figure out what happened."
Gallagher, uncovered at the left of the net, lifted a backhand to give the Canadiens a 2-1 lead at 3:05.
"We played in front of their defensemen for the first half of the first period," Canadiens coach Claude Julien said. "They were playing tight so there were a lot of turnovers in the neutral zone. Once we started putting the puck behind them we started moving our feet, played with more speed and the chances started to come."
Tatar scored into an empty net at 18:13 of the third period for the 3-1 final.
Video: MTL@BUF: Price fights off Skinner's tough try
They said it
"I said that this morning, about the fact that if we want to start winning some hockey games from hereon in, we've got to tighten up defensively. They're going to have be 2-1, 3-2, whatever, 4-3 games. We can't get into those run-and-gun type of games and we've got to get better defensively. I thought our team after that 10-minute mark, and even before that, I don't think they had a ton but I thought we did a good job of minimizing their scoring chances. Hopefully it's something they can build on and we can move forward with." -- Canadiens coach Claude Julien
"Not desperate enough, not nearly desperate enough, and that's kind of been the message in the room, especially after today is guys got to understand the position we're in, and we do like to keep the picture small, but the last two games -- we've been good on home ice -- but we've let ourselves down here and nobody's going to feel bad for us." -- Sabres defenseman Jake McCabe
Need to know
Gallagher played 17:05 and had a game-high five shots on goal. … Canadiens forwards Nick Suzuki and Joel Armia each had two assists. … Canadiens defenseman Marco Scandella was plus-1 in 14:48 in his first game in Buffalo since he was traded to Montreal on Jan. 2. … Sabres forward Kyle Okposo left after the first period with an upper-body injury. There was no update. … Eichel became the third NHL player (David Pastrnak, Nathan MacKinnon) this season to have 30 goals and 30 assists and is the first Sabres player to do so since Jason Pominville in 2011-12. … Buffalo's Rasmus Dahlin (73 points) passed Bobby Orr for the fourth-most points by a teenage defenseman in NHL history behind Phil Housley of the Sabres (132), Ray Bourque of the Boston Bruins (79) and Rick Hampton of the California Golden Seals (76).
Canadiens: Host the Florida Panthers on Saturday (2 p.m. ET; TSN2, RDS, FS-F, NHL.TV)
Sabres: Host the Columbus Blue Jackets on Saturday (1 p.m. ET; SN, MSG-B, FS-O, NHL.TV)
Video: Suzuki, Armia help Canadiens down Sabres