Miami has won five out of six and put together a 21-8 record in May.
Hanley Ramirez led off the fifth with a double in a 3-3 game and the Marlins eventually loaded the bases when Giancarlo Stanton was hit by a pitch and Bryan Petersen drew a walk.
Buck then beat out the infield grounder to bring home Ramirez. Stanton, who drove in a run with a single in the first, also had solo homer in the seventh for some insurance.
Josh Johnson (3-3) gave up three runs on seven hits and struck out five in six innings to get the win. He also singled in a run in the fourth.
The loss went to starter Chien-Ming Wang (1-1), who surrendered four runs on seven hits in four-plus frames.
Susan Sarandon 'very excited' about daughter's pregnancy
Senate Democrats to pull all-nighter on climate change