PHILADELPHIA -- Steve Mason said the pain started in the second period and never really let up as the third period wore on Thursday.
Racked by cramps -- "You name it, it was cramping," Mason said -- the Philadelphia Flyers goaltender gutted his way to 38 saves in a 3-1 victory against the Colorado Avalanche.
Mark Streit, Michael Raffl and Claude Giroux scored for Philadelphia (29-23-6), which won its third straight game and fourth in the past five.
Nathan MacKinnon scored and Semyon Varlamov stopped 32 shots for Colorado (36-16-5), which lost its second straight after a four-game winning streak. It's the third time the Avalanche have lost consecutive games in regulation this season, the first time since Dec. 8-10.
Mason was 2:50 away from his third shutout in five games when MacKinnon, the first pick in the 2013 NHL Draft, beat him from a sharp angle for his rookie-best 21st goal of the season. But that was all the offense Colorado could manage; Mason preserved the 2-1 lead with his best stop of the night, going post-to-post to deny PA Parenteau from the left side with 2:00 left.
"Just a cross-crease pass and I didn't even see the shot," Mason said. "Just knew the pass was going across. Just good positioning."
That Mason was able to get into that correct position was impressive considering his discomfort.
"Parts of the body were locking up," he said. "Doesn't feel very good."
Mason said the only way he was leaving the game was if the Flyers had built a bigger lead.
"It's a tough position for [backup goalie Ray Emery] to go in, in a one-goal hockey game," Mason said. "I was hoping for a couple more goals but we were able to close it out."
Flyers coach Craig Berube had Emery getting loose in the tunnel leading to the locker room but said changing goaltenders was Mason's call.
"He gutted it out," Berube said. "That's not an easy thing to do. Dehydration and cramping, that's tough. He hung in there and did a great job, really did."
Giroux scored into an empty net with 19.8 seconds left. The goal was his 19th of the season and third in the past three games. The Philadelphia captain was impressed by the effort of his goaltender.
"His work ethic is great," Giroux said. "The saves he makes are pretty impressive. Especially when there was two minutes left and he slid across to make that save [on Parenteau]. … He made a lot of key saves, and that's what you want in your goalie, make key saves to keep the team in it. He's been unbelievable this year for us."
Mason was strong while his teammates were slow at the start. He made impressive saves on Paul Stastny and Gabriel Landeskog from in close in the first minute then stopped MacKinnon alone in front after the puck took an odd bounce off the glass above the end boards 4:20 into the game. Mason also backstopped a pair of penalty kills when the Avalanche generated a combined five shots on goal.
"We were on the bench and we were like, 'We've got to get going,'" Streit said. "'We're not initiating here, we're too passive. We have to get skating and make plays out there. We can't let him hang out to dry' because it's happened a few times this year."
Mason's play impressed the opposition.
"I think sometimes you run into a hot goalie and that's certainly what happened [Thursday]," said Landeskog, the Avalanche captain. "He played outstanding."
Streit helped start the Flyers offense with a power-play goal at 6:21 of the second period. Philadelphia worked the puck high in the Colorado zone until Streit found a shooting lane straightaway from just inside the blue line. His shot hit the leg of Avalanche forward Marc-Andre Cliche above the circles, and with Steve Downie and Avalanche defenseman Jan Hejda battling in front of Varlamov, the goalie never had a chance to make a save. The goal was Streit's eighth of the season and gave him a power-play goal in two straight games.
"We had a pretty good breakout," Streit said. "We got in smoothly and we were moving the puck well. Vinny [Lecavalier] made a nice play to me and I had a lane there. I shot it and the puck got deflected and went in. It's a big goal for us at the right moment."
Raffl made it 2-0 with his seventh goal of the season thanks in part to a strong forecheck by Sean Couturier. Downie dumped the puck into the Colorado end and Avalanche defenseman Nick Holden got to it first, but Couturier arrived a split-second later and knocked him off the puck behind the net. He found Raffl in front; the rookie skated through the crease and beat Varlamov with a quick shot between his pads at 7:05.
Colorado continued to push as Mason slowed; the goaltender was taking time when play was at the other end or during stoppages to stretch his legs. At one point he skated to the bench to take an electrolyte pill from the training staff.
"Just clock-watching more than anything," Mason said. "Just looking for a stoppage to calm down and try to slow your breathing down to slow the rate of the cramping. It was a long third period."
The Avalanche made a big push in the final minutes but all they had to show for it was MacKinnon's goal and regret over some missed opportunities.
"We didn't make it hard enough for [Mason] in the first 55 minutes," Landeskog said. "I think the last five we were in his face, banging rebounds and trying to bang one home there and made it hard on him. We started throwing pucks from different angles and tough angles and what not. But the first 55 minutes we didn't make it hard enough on him."
The Flyers host the Calgary Flames on Saturday before the NHL breaks for the 2014 Sochi Olympics. The Avalanche visit the New York Islanders.
"I think every team wants to finish off on a strong note going into the break, and you want to feel good about yourself going into the break," Landeskog said. "We've got to put this one behind us and move on. I think we made a solid push there in the end but it wasn't enough [Thursday]."
Follow Adam Kimelman on Twitter: @NHLAdamK