MIAMI -- The San Francisco Giants have finally learned how to win on the road.
In Miami, at least.
Bengie Molina drove in the go-ahead run in the sixth inning with his third RBI single, and the last-place Giants overcame a four-run deficit Monday to complete a four-game sweep with an 8-7 win over the Florida Marlins.
The Giants won their fifth consecutive game for their longest road winning streak since Aug. 21-Sept. 5, 2005. San Francisco finished 6-3 on its first winning trip of the year -- a bright spot in a disappointing season.
"With all we've gone through, I couldn't be prouder of these guys," manager Bruce Bochy said. "That's a great win, a great series, a great road trip. They're fighting. That's all I can ask."
The news wasn't all good for the Giants: Starter Russ Ortiz left the game in the fifth inning with a strained elbow and is scheduled to undergo an MRI test Tuesday. He has already spent two stints on the disabled list this season with arm trouble.
Each team played without its slugger in the starting lineup. Barry Bonds sat out for the second day in a row, and the Marlins' Miguel Cabrera was a late scratch because he arrived to the ballpark 30 minutes later than required.
Cabrera pinch hit in the eighth and singled home Florida's final run.
"Everybody makes mistakes," manager Fredi Gonzalez said. "He was remorseful. We go on."
Announced attendance was 10,907, but the actual crowd for the afternoon game was less than 2,500 -- the smallest yet this season for the Marlins, who rank last in the NL in attendance.
Jeremy Hermida hit a three-run homer for the Marlins, and was greeted in front of the dugout with a hug from Cabrera. That gave Florida a 4-0 lead, but the Giants came back despite stranding 14 runners.
They finished with 17 hits. Catcher Molina went 4-for-5, which compensated for a throwing error he made that allowed Florida to score for a 5-all tie in the fifth.
"Everybody is relaxing a little bit, playing together and picking each other up," Molina said. "It's making a difference now. This is what we need to do -- to finish up the season strong."
The Marlins thought they had Molina struck out in the fifth, but his swing with two strikes was ruled a foul tip. He then hit an RBI single off Sergio Mitre for a 4-all tie.
"The umpire got it wrong -- he wasn't even close to hitting the ball," Mitre said. "The umpire missed it. But I've got to make a pitch after that."
Plate umpire Paul Schrieber ejected Marlins pitching coach Rick Kranitz for arguing about the call.
Jack Taschner (3-1) pitched 1 1/3 scoreless innings despite three walks. With Brad Hennessey getting the day off after converting saves in three consecutive games, Brian Wilson pitched the ninth for his first save of the year.
That completed a 3-hour, 43-minute marathon on an 89-degree day.
"It was an exhausting game. A long game. Hot," Bochy said. "But we got the last out."
The four-game sweep was the first on the road for the Giants since Aug. 14-17, 2006, when they won four at San Diego. They swept a series from the Marlins for the first time since May 6-8, 2003, and improved to 75-45 against Florida.
The Marlins lost their sixth consecutive game, matching their longest losing streak of the season. They went 1-6 on their homestand.
Catcher Miguel Olivo returned to the Marlins' lineup after sitting out two games with a groin injury. He hit his 11th homer but also dropped a throw for an error to allow the Giants to score their final run.
"Nothing went right," Gonzalez said. "The effort is there. As long as you see the effort and they're trying and you see on their faces at the end of the game that it hurts, there's nothing much you can do."
- The Giants' bullpen is so weary Bochy let RHP Vinnie Chulk bat with one out in the seventh with San Francisco leading 6-5. Chulk reached on an infield single, his first career hit.
- Marlins 2B Dan Uggla lost track of the outs in the seventh and made a double-play relay throw when the inning was over. "That happens," Gonzalez said.
- Molina's four hits matched his career high.