On the mound, Taijuan Walker pitched five innings, allowing two runs. After the game, he was named as the replacement for Jacob DeGrom on the National League All-Star team.
New York plays long ball, drills Pittsburgh
After a scoreless first inning, Pittsburgh, the NL's worst offensive team, scored first after Michael Perez was hit by a Walker pitch with the bases loaded and no one out. The right-hander escaped giving up just the one run.
The Mets got to Pittsburgh starter J.T.Brubaker for two runs in the bottom of the third as Villar tied the game with a solo homer from the left side of the plate and Brandon Nimmo plated a run with a double that gave New York a 2-1 lead.
Adam Frazier, the Pirates All-Star second baseman, singled in Jared Oliva to tie the game. Walker got out of the inning and was done after five. New York then exploded for their biggest inning of the year.
Dominic Smith chased home Nimmo with a single and Alonso belted a three-run shot that made it 6-2 and knocked Brubaker out of the game. Sam Howard relieved him and promptly gave up a single to Jeff McNeil and walked both Michael Conforto and James McCann.
Howard struck out Villar, but pinch-hitter Jose Peraza was hit by a pitch to force in a run and Nimmo walked to make it 8-2. Mitch Keller relieved Howard and gave up a grand slam to Lindor, the Mets first of the season.
Nick Tropeano made his New York debut, but gave up a solo home run to Rodolfo Castro. Villar got that run back with his second dinger of the night, this one coming from the right side of the plate, the first Met to slug homers from both sides of the plate since 2018.
There was a 41-minute rain delay before the bottom of the eighth began and when the action resumed, Yennsy Diaz gave up an RBI single to John Nogowski, but got out of further trouble to finish off the game.
The Mets improve to 46-38. Aaron Loup picked up the win in relief of Walker and ran his record to 3-0. Brubaker suffered the loss, falling to 4-9.