It was only the third win in 11 games for the Flyers (3-7-1), off to one of their poorest starts in franchise history. The Blackhawks have dropped five straight after winning three of four.
Esche, making only his third start, stopped 26 shots in his first win of the season. He was especially sharp in the second period when he made 15 shots and helped kill three Chicago power plays.
Esche was aided by defenceman Denis Gauthier, who made a diving stop of a shot by former Flyer Patrick Sharp in the front of the net midway through the third period.
Chicago's Brian Boucher, a first-round draft pick of the Flyers in 1995, was almost as effective in stopping 32 of 34 shots. Boucher played for the third straight game, replacing Nikolai Khabibulin, who is expected to be sidelined one to two weeks because of a broken finger.
Forsberg put the Flyers ahead 7:25 in with a backhander after taking a pass from Stefan Ruzicka. The Flyers captain made it 2-0 with a brilliant goal at 11:57 of the third. Forsberg stickhandled around Sharp and slid a backhander past Boucher.
Simon Gagne added an empty-net goal with 28 seconds left.
The Blackhawks missed an early scoring opportunity when Craig MacDonald hit the crossbar and right post with a shot.
An apparent goal by Philadelphia's Jeff Carter at 2:58 of the third period, while the Flyers had a two-man advantage, was waved off because an official's whistle blew before the puck went into the net.
Notes: The Blackhawks have lost seven straight road games to the Flyers. Their last win in Philadelphia was Nov. 9, 1996. ... Chicago RW Reed Low, D Danny Richmond, and C Jeffrey Hamilton were healthy scratches. ... Philadelphia RW Mike Knuble is out for two weeks because of a broken finger, an injury sustained Saturday against Pittsburgh. He had missed a game since joining the Flyers, dressing for 92 regular-season games and six in the playoffs. ... The Flyers outshot the Blackhawks 17-5 in the first period.