Neil Walker was the only one who could solve Ryan Vogelsong, and that was hardly enough.
Walker had three of the Pirates' four hits, including their only extra-base hit — an RBI double in the first inning. But he also had one of their season-high four errors.
The Pirates made two errors each during the two innings San Francisco scored its runs.
"We beat ourselves today," first baseman Lyle Overbay said. "If we are going to be where we want to be, we can't do that kind of stuff."
Vogelsong (1-0) was making his first start since Sept. 29, 2004, when he was with Pittsburgh. He spent three seasons in Japan after last appearing in a game for the Pirates in June 2006, then spent last season playing for the Triple-A teams of the Philadelphia Phillies and Los Angeles Angels.
Vogelsong signed a minor league deal with the Giants this past offseason and had his contract purchased from Triple-A Fresno on April 17 when Barry Zito went on the disabled list. Vogelsong had made two relief appearances since, covering 4 2-3 scoreless innings.
He won for the first time since Sept. 14, 2005.
"He did a good job of keeping guys off-balance," Walker said. "I was fortunate enough to hit a couple of barrels on him, but for the most part he was down in the zone and threw a lot of good pitches today."
Brian Wilson pitched the ninth for his seventh save. San Francisco had lost five of its previous six.
Aaron Rowand had three RBIs and stole home as part of a double steal. He hit a two-run double during the Giants' four-run third.
The 33-year-old Vogelsong gave up two runs on four hits and two walks. He was making his 34th career start and 123rd appearance in the majors.
After Walker's two-out double that drove in Overbay in the first, Vogelsong went through a run of retiring 14 of 16 batters before sixth, during which he was lifted after allowing an RBI groundout by Ryan Doumit.
Vogelsong had about 25 family and friends on hand. A native of eastern Pennsylvania, he met his wife in Pittsburgh.
"It was a sense of accomplishment for me before the first pitch had even started," Vogelsong said, adding that he "thousands of times" wondered if he ever would pitch in the majors again. "I was fighting it a little bit not to find myself getting too relaxed, you know?
"It feels really good," he added. "That was my main focus today was just to go out there today and put up a good start, give us a chance to start swinging the bats and guys came big through for me today."
The Giants rank 13th in the National League in runs and were coming off a shutout loss Wednesday. Their big inning Thursday came while not getting many hard-hit balls during the third off Jeff Karstens (2-1).
Mike Fontenot singled to lead off the inning and Eli Whiteside followed by getting hit by a pitch. Vogelsong reached when Karstens unsuccessfully tried to get the lead runner on a bunt, loading the bases.
That set up Rowand's double just inside the third base bag.
"I know that there are going to be days where I get out there and I get my butt kicked and things don't go our way," Karstens said. "In that situation, I was trying to minimize the damage, and I made a mistake to Rowand and he made me pay for it."
With one out and after an intentional walk, Pablo Sandoval grounded to short, but Pittsburgh was unable to turn a double play, so Vogelsong scored.
Rowand made it 4-1 when he came across as part of a double steal with Sandoval. Doumit's throw went into center field on the play.
"We got a couple breaks in the big inning, that's what helped us today," Giants manager Bruce Bochy said. "But it's good to get those breaks and get a big number.
"When you're not swinging the bat, you try to think of ways you can create runs."
Only two of the five runs charged against Karstens in his 6 2-3 innings were earned.
NOTES: Paid attendance for the three-game series against the reigning World Series champions was 33,357 — although the turnstile count was significantly lower than that. The Pirates haven't drawn as many as 19,000 to a game since the first three games of the season. ... Originally drafted by the Giants, Vogelsong was the primary piece of a trade to get ace Jason Schmidt from Pittsburgh in 2001. ... OF Xavier Paul made his Pittsburgh debut hours after being activated, striking out as a pinch-hitter in the ninth. Paul was claimed off waivers from the Los Angeles Dodgers earlier this week.