Buck was up for the exercise, even on a sweltering afternoon, because he made only a brief appearance in the game. But he made it count, doubling for his first career pinch-hit RBI to drive in the go-ahead run with two out in the eighth inning, and Florida rallied past the New York Mets 5-4.
"Big pinch-hit by Buck," teammate Logan Morrison said. "That was amazing. Thank you, JB. It was hot out there."
The Marlins trailed 4-3 going into the eighth against Bobby Parnell (3-2). Morrison led off with a game-tying homer, and Mike Stanton singled. A sacrifice advanced the runner, and Buck put Florida ahead to stay.
"Any time you come through with a big hit late in the game, especially a day game in South Florida, it makes you feel even better," Buck said.
The Marlins' regular catcher, Buck was pinch-hitting for only the third time this season. The seven-year veteran tried in vain to remember his biggest previous pinch-hit.
"I don't think I do it enough to recall," he said with a smile.
Florida's Emilio Bonifacio singled leading off the first inning to extend his career-best hitting streak to 23 games, the longest active streak in the majors. He later added an RBI single, while Stanton hit his 22nd home run.
The Mets' David Wright homered for the first time since his return from a back injury that sidelined him for two months. He added a double and a single, and he has had two RBIs in all three of his games since being activated.
"It has taken a little while to get up to speed, and I don't have my legs back quite yet," Wright said. "But that will come from playing more."
The Marlins improved to 5-37 when trailing after seven innings. They finished 2-4 on their homestand despite losing the first four games.
"It was a great comeback win, and a great way to end the homestand," manager Jack McKeon said. "Everybody chipped in."
On a humid, 92-degree afternoon, Mets center fielder Angel Pagan left the game in the sixth inning because of dehydration, and the weather sapped both pitchers. New York starter Dillon Gee departed for a pinch hitter after five innings trailing 3-1.
"I literally felt like I was in a dogfight out there, just fighting myself the whole time," Gee said.
Florida's Anibal Sanchez allowed 11 hits and four runs in seven innings. Hampered by poor run support, he has gone a career-high eight starts without a win.
The Mets had 12 hits but went 1 for 9 with runners in scoring position. Wright led off the fourth with a double, but Sanchez retired the next three batters.
After Jason Bay singled home a run in the fifth, Sanchez struck out the next two batters with runners at the corners.
The Mets went ahead in the seventh when Beltran singled with two out and Wright hit his first homer since May 13. Morrison tied the score with his 15th homer.
NL batting leader Jose Reyes started the game with a single and later scored on Beltran's sacrifice fly. Reyes finished 2 for 5 and increased his average to .353.
Florida pulled even in the bottom of the first. Bonifacio singled and swiped second for his 22nd stolen base, a career high. Omar Infante also singled, and Bonifacio scored on a groundout by Hanley Ramirez.
Stanton put Florida up 2-1 with a homer leading off the second. Brett Hayes singled with one out, advanced on a sacrifice and scored on Bonifacio's two-out single.
Former NBA star Alonzo Mourning threw out the first pitch. ... Before the game, the Marlins recalled RHP Jose Ceda from Triple-A New Orleans. ... Wright improved his average in Miami to .324. ... The Mets fell to 73-73 in Miami.