CALGARY -- The Calgary Flames didn't let illness slow their roll at home.
Johnny Gaudreau scored the game-winner with 4:50 remaining in the third period, and Jonas Hiller made 27 saves in a surprise start to help the Calgary Flames to a 4-3 win against the Buffalo Sabres at Scotiabank Saddledome on Thursday.
"It's huge," Gaudreau said. "We've been practicing real hard and we weren't really happy with the way we started the season. These past four games, a lot of guys have stepped up. A lot of players are playing well right now. We've got to keep this going with our last home game and find a way to win on the road."
Sean Monahan had two goals, and Markus Granlund scored late in the second period for the Flames (12-14-2), who have won four straight games and eight in a row at home. It's Calgary's longest home winning streak since also winning eight straight Feb. 23-March 27, 2013. The Flames record for consecutive home wins is 10, set from Nov. 7-Dec. 12, 2006. Calgary completes its five-game homestand Saturday against the New York Rangers before starting a four-game road trip.
Rasmus Ristolainen had a hat trick for Buffalo (11-15-3), which has lost three games in a row after earning at least a point in four straight (3-0-1).
"That's special," Ristolainen said. "That doesn't happen often to me, so I take it, but we really need wins. We've got to find a way and do it together here.
"That wasn't what we wanted. Really bad two periods. They outworked, they outbattled us, and that's not the way we should play, especially the situation -- three losses, tough road trip. We've got to pick it up and do it together."
Hiller left practice early Wednesday and did not participate in the morning skate because of sickness. He had played once since Oct. 28 after sustaining a lower-body injury that forced him to miss 12 games. Karri Ramo, who was expected to play and had started 15 of the past 16 games for the Flames, backed up Hiller.
"[Hiller] was sick; [Ramo] was sick," Gaudreau said. "[Hiller] gave us a great performance tonight. I know how hard it is when you're sick to get through a game as a player. I couldn't imagine going through it as a goalie. He did a great job back there and made some key saves for us. It was a great effort by him."
Flames forward Jiri Hudler didn't play because of the flu.
"It might not have been a perfect game, but you should've been in the locker room around 5:30, quarter to six when the medical staff runs in the coach's office saying, 'Guys are puking everywhere,'" Calgary coach Bob Hartley said. "You have Karri Ramo in the laundry room and you have Jiri Hudler in the doctor's room, and they're throwing up and they're white like ghosts, and suddenly you look at Jonas Hiller and he's coming in, and he's whiter than a snowman. You're thinking, 'Gosh, I might have to put (Flames associate coach) Jacques Cloutier in to play goal."
Gaudreau's game-winner came after Ristolainen led a Sabres rally from a two-goal deficit earlier in the third.
Off the rush, Gaudreau took a return pass from Monahan and beat Sabres goaltender Chad Johnson five-hole to put the Flames ahead for good at 15:10 of the third period.
"We made a couple nice passes back and forth, and he found me," Gaudreau said. "I just tried to get it on net real quick because the goalie was shifting his momentum over. I just kind of tried to rip it on net and found a way to put it in the net."
Ristolainen's first goal in 14 games cut Calgary's lead to 2-1. With Flames forward Sam Bennett serving an interference minor, Ristolainen beat a screened Hiller to the glove side 2:27 into the third. Off the ensuing faceoff after another Bennett minor, Ryan O'Reilly won the draw back to Ristolainen, who beat Hiller with a wrist shot from the high slot to tie the game 2-2 at 4:44.
Monahan restored Calgary's lead with his second goal of the game at 9:25 of the third period, converting on a backdoor pass from Gaudreau.
"We've played together for a while now, so we read off each other," Monahan said. "He's a skilled player and when he has the puck, he wants to make plays, so you've got to get yourself open. When he's feeling it some nights, it's real fun out there, and tonight was one of those nights where we were connecting and got the job done."
But Ristolainen completed his hat trick with 5:45 remaining in the third period, circling behind the net before sending a pass through the crease that hit Flames defenseman Dennis Wideman and bounced into the net.
"If he shot the puck one more time in the third, he had an opportunity to put it at the net and he tried to make a pass across the crease to [Brian] Gionta," Sabres coach Dan Bylsma said. "If he might have put that one at the net, he might have got us another goal.
"He stepped up in a big way, and it feels like a wasted effort."
Hiller made six saves in the first period in his first game since a 5-2 loss against the San Jose Sharks on Nov. 28. Johnson, in his first start in his hometown, made 10 saves in the scoreless first.
Monahan scored 5:46 into the second period to give Calgary a 1-0 lead. Johnson made the initial save on Wideman's point shot, but Monahan scored on his second rebound attempt.
Granlund doubled the lead with 7.1 seconds remaining in the second, beating Johnson after taking a cross-crease pass from Dougie Hamilton. Granlund has three goals in six games since being recalled from Stockton of the American Hockey League.