Cincinnati won its fourth straight and Bronson Arroyo picked up his first victory since May 7.
Phillips hit a two-run homer in the third after Bruce had delivered an inside-the-park blow in the first. Valdez drove in two runs with a double in the second and another with a base hit in the ninth.
Arroyo (3-4) allowed three runs on four hits with five strikeouts in six-plus innings. He had gone 0-3 in his previous six starts.
The loss went to Dillon Gee (4-5), who surrendered four runs, three earned, on five hits over six innings. The Mets had won three in a row.