Oliver Perez allowed five hits over six scoreless innings to pick up his a win in his season debut. Nelson Figueroa, whose contract was purchased from Triple-A New Orleans prior to the game to replace the injured Pedro Martinez, pitched a perfect inning. Pedro Feliciano and Billy Wagner finished up the six-hitter.
Martinez was placed on the 15-day disabled list because of a left hamstring strain before the game.
Wright's three-run homer off Lee Gardner capped a five-run sixth inning.
Andrew Miller took the loss, giving up five runs and eight hits over 4 1-3 innings in his Marlins debut. Miller was acquired from Detroit in the offseason.
The Mets jumped on Miller to take a 3-0 lead in the second, highlighted by Church's two-run homer.
Beltran appeared to hit a two-run home run off relief pitcher Matt Lindstrom in the fifth. The ball looked like it cleared the right-field wall and bounced off a railing and back onto the field. It was initially ruled a home run by third base umpire Jeff Kellogg. The umpires discussed it and crew chief Rick Reed ruled it a ground-rule double. It drove in Wright to make the score 5-0.