Craig Anderson stopped 30 shots for Colorado, which was 3-6-1 in its previous 10 games after a surprisingly strong start to the season.
Daniel Briere had two goals and two assists and Jeff Carter had two goals for the Flyers, who nearly rallied from a three-goal deficit in the third period to send it into overtime.
With the game tied 2-all in the second period, the Avalanche scored three unanswered goals.
Cody McLeod scored his fifth at 6:03 of the frame and Scott Hannan chased goalie Ray Emery with his second goal of the year 3:06 later to make it 4-2.
Emery had 13 saves in a little less than half the game.
Jones greeted Brian Boucher, Emery's replacement, with his second goal of the game and 10th of the season to make it 5-2 with 4:44 left in the period.
Boucher finished with 13 saves.
The Flyers nearly tied it late in the game. Briere scored his 10th goal with 8:43 left and Carter scored one the power play with 4:39 left to cut the deficit to one. The Flyers, short-handed due to Scott Hartnell's goaltender interference penalty with 2:09 left, pulled Boucher with a little more than a minute left. They had several good chances but couldn't get the equalizer.
The Avalanche wasted little time in taking the early lead. Stastny fed Jones in front of the Flyers' net, and the forward jammed in his own rebound 1:01 into the game to give Colorado a 1-0 advantage.
Just 4:31 later, Stastny took a pass from Kyle Cumisky, skated between defensemen Chris Pronger and Braydon Coburn and beat Emery with a slap shot to make it 2-0.
The Flyers tied it with two goals in a little over a minute. Briere scored with 33.5 seconds remaining in the first period and Carter tied it when he scored his eighth goal 29 seconds into the second period.
NOTES: Hannan injured his neck late in the second period and did not return. ... The Flyers have lost three straight after winning seven of their previous eight games. ... Avalanche D Adam Foote (jaw) missed his third straight game.