MIAMI -- The rain had stopped by the time Tim Lincecum took the mound. He ended up soaking wet anyway, and happy with his fifth consecutive victory.
Bengie Molina had two RBI to back Lincecum (5-1), who went 7 1/3 innings to win his fifth consecutive decision. He also doubled and scored.
"The first seven went pretty well," Lincecum said. "I had a tough time finding the strike zone, but when I needed to, I got outs. The hit was nice and it was nice to score. Just a good game."
The Giants sat through a rain delay for the fifth consecutive day. After the start was delayed 1 hour, 38 minutes, Lincecum acknowledged he felt the effects of the high humidity and damp air.
"You just try to hydrate before the game. That's important for guys like me with high metabolism," Lincecum said. "Still, I was sweating. ... I'm going to go hydrate and try to get some food down. Then I'll probably have to take another shower."
The NL Cy Young Award winner was lifted after yielding Chris Coghlan's two-run homer, which made it 3-2.
"He can't afford to lose too much weight. When it's hot ,he's drenched after the first inning," Giants manager Bruce Bochy said of the 5-foot-11, 170-pound right-hander. "I thought he maintained his strength well tonight."
Brian Wilson gave up two singles in a scoreless ninth for his 15th save in 18 opportunities. Wilson has not allowed a run in his past seven appearances.
Aaron Rowand extended his hitting streak to a career-high 17 games with a leadoff double in the first. It is the longest active streak in the majors.
Ricky Nolasco (2-6) pitched seven innings, giving up three runs (two earned) and 10 hits. It was the first big league start for Nolasco since he was optioned to Triple-A New Orleans on May 23. Nolasco won 15 games for the Marlins in 2008.
"I did what I could do to keep us in the game," Nolasco said. "Obviously, the ultimate goal is to win, so I'm not satisfied with what I did. We did a good job battling against a tough pitcher like Lincecum."
The Giants took a 1-0 lead in the fourth. Randy Winn led off with a double and scored on Molina's single.
The inning could have been worse for the Marlins, but a couple of putouts at the plate saved two runs.
Molina advanced to third on Pablo Sandoval's double. Fred Lewis hit a sharp grounder to second, but Dan Uggla threw out Molina at the plate.
During the following at-bat by Juan Uribe, Nolasco uncorked a wild pitch. Florida catcher John Baker retrieved the ball in the grass to the right of home plate and flung it back to Nolasco, who tagged out Sandoval trying to score from third.
"We were up against it a little bit and we made some nice plays defensively," Marlins manager Fredi Gonzalez said.
Lincecum scored the Giants' second run in the fifth, when he led off with a double to left. A throwing error and a walk loaded the bases, and Molina's sacrifice fly to center scored Lincecum to make it 2-0.
Lewis led off the sixth with a double, then Uribe doubled him in to stretch San Francisco's lead to 3-0.
Nolasco was 1-1 with a 2.40 ERA in two starts with New Orleans. ... Giants LHP Randy Johnson is scheduled to start Monday night at Florida on three days of rest. The 45-year-old Johnson got his 300th victory Thursday at Washington, throwing 78 pitches in six innings.