Sam Bennett, Mark Jankowski and Mark Giordano tallied a goal and an assist each for the Flames (33-25-10), who have recorded points in back-to-back games to pull within one point of the Los Angeles Kings (36-25-5) for the second wild-card playoff spot in the NHL's Western Conference.
"You need traction," said coach Glen Gulutzan, who has confidence his team can string together wins down the stretch drive. "When they get confident, they can get on a real good run. We've done it before. We did it last year, we've done it this year. Every little step is a big step for us."
Sean Monahan and Dougie Hamilton also scored for Calgary, while Johnny Gaudreau and TJ Brodie chipped in with a pair of assists each.
Casey Nelson scored the lone goal of the game for the Sabres (21-35-11) at 19:42 of the third to spoil Rittich's shut-out bid.
The Flames outshot the Sabres 17-6 in the opening frame and built up a 2-0 lead on goals by Bennett and Jankowski.
"It was big for our team," said Jankowski, who had a contingent of about 80 people cheering him in the crowd at Buffalo's KeyBank Center, several of whom made the trek from his hometown in St. Catherines, Ont. "We could have laid back a little bit and maybe gave them a chance to get back in the game, but we didn't do that. We stayed on them and pressed hard throughout the game."
Buffalo goalie Chad Johnson, who went 18-15-1 with the Flames last season, tried to swipe away a loose puck in his crease, but Bennett intercepted it and lifted a shot up and over the fallen netminder at 5:35 of the opening frame.
Exactly three minutes later, Jankowski took a pass from Bennett and snapped a shot just under Johnson's glove to give the visitors a 2-0 lead.
Early in the second stanza, Rittich made a nice shoulder save to stop a slap shot off the stick of Jason Pominville during a powerplay for the Sabres.
The Flames then scored goals 61 seconds apart as a point shot by Giordano deflected off Buffalo forward Zemgus Girgensons and past Johnson before Monahan converted a pass from Gaudreau for his team-leading 30th goal of the season.
After stopping 18 of 22 shots he faced, Johnson was replaced in net by Robin Lehner, who wasn't able to stop a blast by Hamilton with 1:21 to play in the second and the Flames enjoying a man advantage.
Lehner then turned aside all 10 shots he faced in the final frame to finish with 18 saves in a relief appearance.