Jakub Voracek had two assists, and Giroux also had an assist to help the Flyers snap a three-game losing streak and extend their home winning streak to six games. They were coming off a 2-3-1 trip in which they finished up 0-2-1.
Mason shut the Canadiens out for 59 minutes before Alex Galchenyuk scored with 55.1 seconds left to cut it to 2-1.
The Canadiens have lost two in a row after going 9-0-1. They followed a 6-0 loss at home to the Los Angeles Kings on Tuesday with another offensive clunker.
The Flyers didn't show any ill effects from a 13-day trip. Despite a 7-2 loss at Chicago on Wednesday, they looked fresh from the start.
It's not just going to happen on its own. We have to have guys commit to the areas we need to improve on. We're going to be better than last year but there is still a long way to go. But I really like the pieces and where we're headed.
— Sabres forward Tyler Ennis on the progress of Buffalo's rebuilding process