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.