SAN FRANCISCO -- Dontrelle Willis did not want to endure another razzing for his pitching problems back home in the Bay Area.
With all the offense his teammates provided, Florida's hard-throwing lefty could relax.
Willis finished his 13th career complete game and second this year after throwing a six-hitter May 21 at Tampa Bay. Dan Uggla homered twice and drove in five runs and Joe Borchard added a two-run shot as the Marlins avoided a three-game sweep.
Willis won in San Francisco's waterfront ballpark for the first time in three starts. His previous two outings weren't pretty: 18 runs and 17 hits for a 17.00 ERA, with nine walks and three strikeouts in nine innings.
"I was worried about what other people thought if I didn't do well here," he said. "I just went out there and tried to have fun and be relaxed and compete like I know how to compete everywhere else."
Willis' big outing followed a 16-strikeout performance by Giants ace Jason Schmidt a night earlier, a 2-1 San Francisco victory.
"I looked into his eyes and he wanted to finish," Marlins manager Joe Girardi said. "This was a big win for him. Like good pitchers do, when they get those runs, they turn it up a notch and shut 'em down. He got into his rhythm after the first inning. ... His last two starts have been very good. He's figured out his tempo."
Uggla, a rookie, hit a three-run homer in the fifth and a two-run drive in the ninth off Tim Worrell for his first career multihomer game and the third by the Marlins in 2006.
"Sweeps, you've got to stay away from if you're going to have any kind of chance at the end of the year," Uggla said. "I was lucky to square a couple of balls up today."
Barry Bonds had a scheduled day off in a day game following a night game, but the Giants were unsure about the slugger's status for a four-game series starting Thursday night against his former club, the Pittsburgh Pirates.
Bonds tweaked his left side during last weekend's series in New York, though he initially tried to play through it. The injury has become worse in recent days, and Bonds grimaced after a swing during Tuesday night's win.
Bonds was examined by team doctors Robert Murray and Ken Akizuki late Tuesday, and trainer Stan Conte listed the slugger as day to day.
"I hope this is not a serious problem," Giants manager Felipe Alou said.
Florida finally got to Giants starter Jamey Wright -- going on short rest -- in the fourth. After Miguel Cabrera drew a two-out walk, Borchard hit his fifth homer of the year with a drive into the seats in right-center.
Willis escaped a bases-loaded jam in the eighth when Moises Alou grounded into an inning-ending double play. The left-hander struck out three and walked three in a 116-pitch performance.
Alou hit a go-ahead RBI double in the first for the Giants in his second game back from the disabled list with a sprained right ankle, but San Francisco couldn't manage much else against Willis and saw its season-high three-game winning streak end.
"Tell me what you saw out there," Felipe Alou said in his postgame session with the media. "This is a time of the day we don't play very well for whatever reason. We had some legitimate shots."
Wright (5-5) pitched on three days' rest for the first time this season and sixth in his career after volunteering to do so after going in the late game of Saturday's doubleheader against the Mets in New York. Wright is winless in his last three outings.
Bonds went 0-for-4 with a strikeout Tuesday night after hitting his 716th career home run to move within 40 of passing home run king Hank Aaron's 755, then said Wednesday his side was sore.
"I don't know yet," Bonds said when asked about the severity of his injury. "I was hurt from the second inning (Tuesday). I played because I didn't want to come out. ... I'm only concerned if somebody's putting me in a coffin."
Bonds, who turns 42 on July 24, said he didn't tell the team's training staff about his sore side until Wednesday morning when he arrived at the ballpark -- so he wasn't sure how the injury would be treated.
"I felt the pain in New York but I didn't think about it then," Bonds said. "It just got worse and worse. ... I'm just sore, not too bad. It got worse and my back started hurting again. My back is not as tight today."
Bonds hit his 715th homer May 28 against Colorado to pass Babe Ruth and move into sole possession of second place on the career list behind Aaron. The seven-time NL MVP was limited to 14 games in 2005 following three operations on his troublesome right knee.
- Florida LF Josh Willingham was a late scratch with a stiff back and Borchard replaced him in the lineup.
- Before the game, the Giants activated RHP reliever Worrell from the 15-day disabled list and optioned RHP Brian Wilson to Triple-A Fresno.
- Wright has lost three of his last four starts against Florida dating to 2001.
- Willis had never lasted longer than five innings when pitching in San Francisco.
- Giants LHP reliever Jonathan Sanchez recorded his first career strikeout, getting Borchard in the eighth.