Hartnell scored his 29th and 30th goals -- both on third-period deflections -- and Matt Read netted the shootout winner as the Flyers overcame a three-goal, second-period deficit and beat the Calgary Flames 5-4 on Saturday night.
Hartnell reached 30 goals for the second time, matching his career best in the 2008-09 season.
"Hartsy is having a breakout year, and it's a credit to him playing with some great players in (Claude) Giroux and (Jaromir) Jagr," Flyers defenseman Braydon Coburn said. "Going to the net, he makes room for himself and he gets those tough goals.
"This time of year, you've got to score goals from in front of the net. You've got to have screens because all these goalies are so good. You've got to have guys that are willing to get to the front, and it's not easy."
Read, Philadelphia's fifth shooter, broke a 1-1 deadlock in the shootout by beating Miikka Kiprusoff with a quick shot inside the goal post.
"I was just trying to see where he was and look for an open spot," said Read, who has gone 11 games without a goal in regulation. "I was thinking shoot the whole way. His glove wasn't all the way up, and I just shot it and hoped and it went in."
The Flyers' comeback began after a short-handed goal by Tom Kostopoulos put Calgary ahead 3-0 at 12:55 of the second.
Over a furious final seven minutes of the period, the Flyers outshot the Flames 12-2 and scored twice to climb within a goal.
At 15:47, Jakub Voracek wristed a 15-footer past Kiprusoff as he cut to the net off the wing. With 34 seconds left in the period, Coburn scored his third of the season -- bouncing in a shot off the leg of Flames defenseman Scott Hannan.
Philadelphia tied it 3-3 on Hartnell's deflection at 7:35 of the third. The goal came during a two-man advantage that was created when Matt Stajan was sent off for boarding 27 seconds into a Flames penalty for too many men on the ice.
Calgary went back in front 4-3 at 10:49 on a penalty-shot goal by Alex Tanguay, but Hartnell responded again. Set up in front of the net, as he was on his first goal, Hartnell got a piece of a shot from Nicklas Grossman and put it in.
Philadelphia (34-20-7) jumped over New Jersey into fourth place in the Eastern Conference.
"It's a good character builder for this team," Read said. "We've got a lot of guys who can put the puck in the net. We just want to keep it going. We had a lot of opportunities, a lot of shots tonight, if we just have that belief."
Mark Giordano and Stajan scored the other goals for Calgary (28-23-11), which has lost five of its last 10 that have gone past regulation time -- twice in overtime, three in a shootout.
"It's no secret, we're having a tough time right now playing with the lead," Flames captain Jarome Iginla said. "The good part is we're getting it and we're having real solid first periods. But it slowly slips away from us."
The Flames dropped to 11th in the Western Conference, one point behind Dallas, Los Angeles and Colorado at the postseason cutoff.
"We keep finding ways to shoot ourselves in the foot," Tanguay said. "We gave them a five-on-three. We're lucky to get a point."
Calgary opened the scoring on an unassisted power-play goal by Giordano at 3:45 of the first period.
Giordano reached high over his head to glove down a clearing attempt by Voracek at the blue line. The Flames defenseman set the puck down and, with it still wobbling, stepped into a slap shot that beat Flyers goalie Ilya Bryzgalov high on the glove side.
Calgary went ahead 2-0 at 5:17 when Stajan cut across the slot and beat Bryzgalov with a harmless looking shot.
Two goals on two shots against Bryzgalov prompted coach Peter Laviolette to call his timeout. Every save for Bryzgalov brought out jeers from the crowd for the rest of the first. He finished the game with 17 saves.
"I thought the guys played hard for 60 minutes," Laviolette said. "The start wasn't slow, we just got a couple of tough bounces. As the game went on, Bryz got better and stronger and made some saves for us. In the shootout, he kept us in there, gave us an opportunity."
Calgary has been outshot in 10 consecutive games. The Flames have been outshot by 104 shots during that span. ... Philadelphia has outshot the opposition in nine straight games. ... Calgary's last short-handed goal was last Feb. 20, scored by Anton Babchuk during the Flames' 4-0 win over the Montreal Canadiens in the Heritage Classic. ... The last time Stajan scored in consecutive games was Jan. 8-9, 2010, when he did it with the Toronto Maple Leafs. ... RW Guillaume Desbiens made his Flames debut, after being recalled Friday from Abbotsford of the AHL. Desbiens previously played in 13 games with the Vancouver Canucks.