That set the stage for Valdespin, who was recalled from Class AAA Buffalo to replace the injured Ruben Tejada before the game. He responded with his first major-league hit -- a three-run blast to put the Mets ahead.
Frank Francisco nailed down the win with a 1-2-3 bottom of the ninth for his eighth save. The victory went to Tyler Byrdak (1-0), who got the final out in the eighth.
The Mets won their third straight and took the opener of a three-game series at Citizens Bank Park.
Phillies starter Roy Halladay yielded two runs on five hits over seven innings, striking out seven.
Notable deaths of 2014 [PHOTOS]
Michael Sam cut from the Dallas Cowboys