Ruben Tejada doubled and had two RBIs for the Mets, who chased Cole Hamels in the fifth and have won seven of nine. They improved to 15-11 overall, marking the first time New York has been four games over .500 since July 14, 2012.
Marlon Byrd homered and Ryan Howard had two hits with a double for Philadelphia, which lost for only the third time in nine games.
The start was delayed by rain for 1 hour, 28 minutes, and the temperature at first pitch was a chilly 46 degrees. Many in the announced crowd of 28,189 who braved the cold were dressed more appropriately for a Philadelphia Eagles football game in December, with hooded sweat shirts, winter coats and wool blankets.
There was a misty rain for the first 2½ innings before heavy rain began to fall in the bottom of the third. The rain tapered off to a drizzle before becoming heavy again in the seventh.
The weather hardly affected Niese (2-2), who didn't allow a hit until Byrd's two-out homer in the fourth. The left-hander gave up four hits while striking out five and walking one.
Hamels (0-2) struggled in his first home start of the season, allowing six runs on eight hits with five walks and a hit batter in 4 2-3 innings. Seeking his 100th career victory, Hamels lost the strike zone in the fourth when he walked four batters, including Niese with the bases loaded, as the Mets took a 3-0 lead.
Hamels was making his second start of the season after opening on the disabled list due to left biceps tendinitis. The lefty's ERA rose to 6.75 as he dropped to 2-8 in his last 10 home starts against the Mets.
Murphy had a two-out RBI single in the third, and Josh Satin singled home a run in the fourth.
Byrd's homer pulled the Phillies to 3-1, but New York chased Hamels when it got an RBI double from Chris Young and a two-run single from Tejeda to make it 6-1 in the fifth.
NOTES: Mets starters have given up more than three runs once in the last 13 games. . Murphy extended his hitting streak to 10 games. . Mets RHP Bartolo Colon (2-3, 4.50 ERA) is scheduled to face RHP Kyle Kendrick (0-2, 3.52) in the conclusion of the two-game series Wednesday night. ... During the rain delay, the Phillies showed Game 6 of the NHL playoff series between the Philadelphia Flyers and New York Rangers on the scoreboard and rang the bell in center field traditionally rung for home runs when Wayne Simmonds scored a first-period goal to give the Flyers a 1-0 lead.