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.
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Beyonce flaunts bikini body, Blue Ivy in vacation pics