Mets starter Zack Wheeler had tossed a no-hitter through 6 1/3 innings but then surrendered a pair of runs in the seventh, allowing the Marlins to forge a 2-2 tie.
That brought up Buck, who lined a solid hit up the middle, sending home Wright and Byrd with the go-ahead runs.
Scott Atchison (1-0) notched the decision with a scoreless ninth and Bobby Parnell earned his 22nd save as the Mets took a second straight from Miami.
Juan Lagares went 3-for-3 with two RBI in the victory.
Donovan Solano and Jake Marisnick each drove in a run for the Marlins.