"Clay didn't have his great stuff tonight and the offense seemed to sense it," Boston manager Bobby Valentine said. "They were going to do what they had to do to get us enough runs."
|More on Marlins-Red Sox|
|More MLB coverage|
Cody Ross, activated from the disabled list before the game, and Kelly Shoppach also homered as Buchholz (8-2) benefited again from a strong hitting attack. He entered the game with the second-best support in the majors, 7.51 runs per nine innings.
"That's the way the year's been going," Buchholz said. "Guys are scoring in the first inning and then keeping it going."
"You keep on getting hit around and giving up runs every inning, it's going to get you out of the game pretty early," Buehrle said.
The win came at Fenway Park where the Red Sox lost their previous three games, six of seven, and are just 15-19 this season. They began the day in last place in the AL East but won their fifth game in the last six overall and their third straight in the opener of a nine-game homestand. And they improved to 34-33, going over .500 for the first time since June 7.
Alfredo Aceves worked a perfect ninth for his 17th save in 20 opportunities.
"We haven't had much luck at home," shortstop Mike Aviles said, "but any win's always good."
There haven't been many lately for the Marlins.
They dropped to 2-11 in their last 13 games as Buehrle gave up three homers and lost his fourth straight start in a rematch of a 2-1 loss to Buchholz in Miami on June 12.
The Marlins scored more than four runs for the first time in 13 games and matched the Red Sox with 10 hits.
"We come out and score a bunch of runs today, which we've been struggling to do," Buehrle said. "I went back out and gave it right back up. I was frustrated by that."
Logan Morrison drove in all five Miami runs with a two-run homer and two doubles, then sent center fielder Ryan Kalish toward the wall where he made the catch with a runner on third and two outs in the seventh inning. The Marlins stranded a runner at second in the eighth.
"Obviously, the team comes first," Morrison said. "We've got to start winning games."
Buchholz was 3-0 with a 1.45 ERA and 28 strikeouts in his previous four starts but struggled against a team that began the day with a .213 road batting average, the worst in the majors.
The Marlins jumped on him in the first with a two-run homer by Morrison, his sixth of the season. But Ortiz tied the game in the bottom of the inning with a two-run shot.
In the second, another two-run homer, Shoppach's fourth of the year, put the Red Sox on top 4-2 before Morrison doubled in a run in the third.
Ross then hit his eighth homer, a solo shot, to give Boston a 5-3 lead in the fourth. It was his first game since recovering from a fractured bone in his left foot. Miami tied it in the fifth on a two-run double by Morrison.
Then the Red Sox went ahead to stay in the fifth when Aviles doubled, took third on Dustin Pedroia's sacrifice and scored on Gonzalez's fly to right. That made it 6-5 and they added a run in the seventh when the first two batters against reliever Chad Gaudin, Kevin Youkilis and Will Middlebrooks, doubled.
Pedroia left the game after fouling out to first base in the seventh on an inside fastball.
"He was more fearful that he was injured," said Valentine, who gave no further details.
- Boston put OF Scott Podsednik on the 15-day DL with a strained left groin.
- Miami's Ricky Nolasco (6-5) faces Felix Doubront (7-3) in the second game of the three-game series on Wednesday night.
- Marlins manager Ozzie Guillen said he's been impressed with reliever Steve Cishek, a 2005 graduate of Falmouth H.S. on Cape Cod, who has pitched two scoreless innings against the Red Sox this season. He is 4-0 with a 1.91 ERA in 28.1 innings overall.
- Kalish misplayed two fly balls near the wall in center field. In the fifth inning, he didn't go back enough for Morrison's shot and the ball bounced at the base of the wall for a double. In the seventh, near the same spot, he dropped Jose Reyes fly for a three-base error.