Hartnell took a nice cross-ice feed from Danny Briere to beat Marc-Andre Fleury with 0.9 seconds left on the clock.
Kimmo Timonen also scored to help the Flyers rally from a 2-0 hole against the hottest team in the NHL.
Evgeni Malkin and Craig Adams each scored for the Penguins. Sidney Crosby played in the third game of his comeback following a three-month absence caused by recurring concussion symptoms.
The Penguins lost for the first time since Feb. 19.
BLACKHAWKS 5, CAPITALS 2
CHICAGO (AP) — Rookie Andrew Shaw recorded his first two-goal game, and the Chicago Blackhawks defeated the Washington Capitals for their third straight win.
Viktor Stalberg, Patrick Kane and Bryan Bickell also scored for Chicago, which is 7-1-1 in its last nine despite playing without captain and leading goals scorer Jonathan Toews.
Mike Knuble and Alex Ovechkin scored for Washington, which lost its second straight following a four-game winning streak.
Corey Crawford made 16 saves and in his second straight start. Michal Neuvirth stopped 24 shots for the Capitals, who didn't dress No. 1 goalie Tomas Vokoun due to an undisclosed injury.
BLUE JACKETS 2, FLAMES 1, SO
CALGARY, Alberta (AP) — Cam Atkinson scored the shootout winner and Steve Mason made 28 saves after coming in for an injured Curtis Sanford as the Columbus Blue Jackets beat the Calgary Flames.
Nikita Nikitin scored for Columbus, which was playing on back-to-back nights. The Blue Jackets lost 4-3 Saturday night in Vancouver.
Matt Stajan scored for Calgary (34-26-13), which snapped a four-game home winning streak.
It was a costly weekend for Calgary's playoff aspirations in the congested Western Conference. The Flames remained in 11th place after dropping two straight, including Friday's 3-1 loss to the Edmonton Oilers.
Sanford appeared to hurt a leg early in the first period and did not return.
COYOTES 3, OILERS 2, SO
EDMONTON, Alberta (AP) — Ray Whitney scored in the third period and added the shootout winner as the Phoenix Coyotes bounced back from a two-goal deficit to defeat the Edmonton Oilers.
Raffi Torres also scored for the Coyotes, who passed Los Angeles and San Jose to take over the eighth and final playoff spot in the Western Conference.
Phoenix coach Dave Tippett also earned his 400th career victory with the win.
Jordan Eberle and Ales Hemsky scored for the Oilers, who had a two-game winning streak snapped.
PREDATORS 3, DUCKS 1
ANAHEIM, Calif. (AP) — Patric Hornqvist, Mike Fisher and David Legwand scored third-period goals and the Nashville Predators completed a four-game season series sweep of the Anaheim Ducks.
Anders Lindback made 30 saves in his eighth start this season for the Predators while Pekka Rinne got the night off. Lindback, the tallest goalie in the NHL at 6-foot-6, had lost his previous five starts since Nov. 28, when he faced only 18 shots in a 2-1 win at Edmonton. Legwand scored a power-play goal into an empty net with 16.5 seconds left after a hooking penalty against Bobby Ryan.
Nashville tied idle Detroit for fourth place in the Western Conference standings and home-ice advantage in the first round of the playoffs with 10 games left for both teams.
The Predators posted their sixth straight regular-season win over Anaheim, which got a goal from Devante Smith-Pelly.
HURRICANES 4, JETS 3
WINNIPEG, Manitoba (AP) — Chad LaRose scored with 1:22 left in the third period as the Carolina Hurricanes edged the Winnipeg Jets.
Eric Staal had a pair of goals for Carolina, while Jussi Jokinen had a short-handed goal and added two assists. Cam Ward made 30 saves for the win.
Antti Miettinen had two straight goals for Winnipeg in the second period, while Nik Antropov had his 13th goal of the season. Ondrej Pavelec stopped 21 shots for the Jets.
Winnipeg remained two games behind Washington for the eighth and final playoff spot in the Eastern Conference. The Jets have 76 points on the season, tied with the Buffalo Sabres. However, Winnipeg has a game in hand.