Matt Cain held the Marlins without a hit until the sixth inning and pitched into the eighth Thursday night to help the Giants complete a three-game sweep with a 6-3 win.
"I marvel as what our pitchers are able to do on a nightly basis," left fielder Mark DeRosa said. "It makes it tough on the other team."
Cain (2-1) gave up four hits and two runs in seven-plus innings, and four relievers completed the five-hitter. Brian Wilson came on to strike out pinch-hitter Wes Helms with one on for his sixth save in seven chances.
"We probably faced the toughest pitching staff as a whole, starters and bullpen," Marlins manager Fredi Gonzalez said. "The old saying that good pitching beats good hitting -- you saw it this series."
Nate Schierholtz hit his first homer of the year for San Francisco. DeRosa had two run-scoring hits to hike his average to .205, while Aaron Rowand contributed a triple, a two-run single and a lunging catch in center field. Rowand is 7 for 16 with seven RBI in four games since coming off the disabled list.
The Giants, who took a half-game lead over San Diego in the NL West, have won nine of their past 12 games. But they lost shortstop Edgar Renteria when he aggravated a groin strain and left in the third inning.
Renteria might be placed on the disabled list, manager Bruce Bochy said.
Florida's Ricky Nolasco (2-2) allowed five hits -- four for extra bases -- and three runs in six innings. That was no match for Cain, who relied mostly on his fastball early in the game. His breaking ball became more effective in the later innings.
The Marlins were 0 for 16 until Chris Coghlan singled with two outs in the sixth, ending Cain's bid for only the second Giants no-hitter since 1976.
"I was thinking about it, but it's one of those things," Cain said. "It's not an easy thing to do."
Gonzalez shook up the top of the lineup for the Marlins, benching Cameron Maybin and moving Coghlan back into the leadoff spot, but the changes produced little offense. The Marlins went 3-6 on their homestand, and they're two games below .500 for the first time this season as they start a six-game trip.
"We need to get back on the winning track," second baseman Dan Uggla said. "We're going to bear down this road trip and fight and compete and scratch and claw."
Jorge Cantu went 0 for 4 and is hitless in his past 17 at-bats. Coghlan remained without an extra-base hit in 93 at-bats this season. The Marlins, last in the majors in fielding, also committed two errors.
"We still haven't played the baseball we're capable of playing," Gonzalez said. "The thing that frustrates me is the way we handle the baseball. It seems like we're not making any headway there. It may be guys are trying to do too much."
Florida trailed 6-0 before scoring in the seventh when Hanley Ramirez doubled and Uggla singled him home. The Marlins loaded the bases with one out in the eighth but scored only once, on Ramirez's sacrifice fly.
In the second inning the Giants scored once but had two runners tagged out at the plate. Bengie Molina led off with a double, then got hung up between second and third on a comebacker to the pitcher. Nolasco made a wild throw to third, but third baseman Cantu retrieved the ball in foul territory and threw out Molina trying to score.
DeRosa doubled home a run. With two outs, Schierholtz singled, but right fielder Brett Carroll threw a strike to the plate on the fly and DeRosa was out attempting to score.
Otherwise, little went wrong for the Giants.
"To come in here and win three games, that's not easy against a good ballclub," Bochy said. "We rose to the occasion."Notes
- The Marlins will designate INF Mike Lamb for assignment Friday. OF Bryan Petersen will be selected from Triple-A New Orleans and join the team in Washington for the start of a six-game trip.
- Rain fell briefly early in the game.
- Maybin popped out as a pinch hitter, ending his streak of striking out in 16 consecutive games.
- The Giants' Pablo Sandoval is batting .222 (6 for 27) with runners in scoring position.