The Capitals took an early three-goal lead and seemed on their way to tying Philadelphia for the top spot. But the Flyers scored four in a row and earned a point by going into overtime.
Semin beat Brian Boucher with a nifty move and backhanded a shot into the top corner for the winner.
BRUINS 4, DEVILS 1
In Boston, Zdeno Chara broke a tie midway through the second period and Milan Lucic scored his 30th goal of the season late in the third to lead the Bruins.
Boston won for just the second time in eight games after winning seven in a row.
RANGERS 1, PANTHERS 0
In New York, Brandon Dubinsky broke up a scoreless game 7:49 into the third period and Henrik Lundqvist made 22 saves as the Rangers beat Florida and stretched their winning streak to five games.
Lundqvist was hardly tested in earning his NHL-best 10th shutout of the season -- second over Florida -- and 34th of his career.
HURRICANES 4, SENATORS 3
In Raleigh, N.C., Chad LaRose scored two goals and Cam Ward made 36 saves to lead Carolina past Ottawa.
Tuomo Ruutu also scored, and Cory Stillman added a goal in the third period for Carolina.
SABRES 2, CANADIENS 0
In Montreal, Ryan Miller made 31 saves for his fourth shutout and Nathan Gerbe scored twice to lead Buffalo past the Canadiens.
Miller recorded his 21st career shutout.
ISLANDERS 5, LIGHTNING 2
In Tampa, Fla., Al Montoya made 36 saves, leading New York to victory over the Lightning.
Josh Bailey scored first for New York with 10 seconds left on a power play midway through the opening period. Kyle Okposo, Matt Martin, Frans Nielsen and Michael Grabner also scored.
MAPLE LEAFS 3, WILD 0
In St. Paul, Minn., Joffrey Lupul and Mikhail Grabovski each scored goals to get Toronto's top two lines going and lead the Maple Leafs over Minnesota.
PREDATORS 3, OILERS 1
In Nashville, Tenn., David Legwand scored a goal and added an assist as the Predators beat Edmonton.
Martin Erat, Patric Hornqvist also scored for Nashville.