Chris Volstad knew he had it from the first pitch that left his hand.
"It was one of those days everything just came together," he said. It was, indeed.
Volstad (6-8) struck out six and didn't walk a batter to win for just the second time in eight starts, finishing the 2-hour, 22-minute game on an efficient 105 pitches. The Marlins ended a four-game losing streak in the Giants' waterfront ballpark with only their sixth win in the club's last 18 games in San Francisco.
Volstad retired the final 11 batters he faced and 16 of the last 17, allowing only Randy Winn's sixth-inning single during that span. The right-hander had gone seven innings four times this season and 8 2-3 was his previous high, on July 11 last year as a rookie against the Dodgers in his first career start.
"I was hoping that 8 2-3 in my debut wasn't going to be my longest outing," he said. "I felt like I was on a roll. I was able to throw my sinker whenever I needed to for strikes."
Teammate Cody Ross collected the game ball for Volstad as a keepsake, and the pitcher quickly packed it away safely in his bag. He won't pitch again before the All-Star break, so this outing surely will provide some momentum heading into the second half.
"It's huge," Volstad said. "It's a good one to think about during the break."
Giants rookie Ryan Sadowski (2-1) allowed his first runs in his third big league start after pitching 16 scoreless innings to begin his career. Uggla connected in the top of the ninth for his 16th homer and Jorge Cantu had two hits and drove in a run for the Fish.