SAN FRANCISCO -- Jason Bay and Dave Williams were quite the sight -- Bay with his neck stained with grass from a diving catch, and Williams with his closely cropped mutton chops.
Their play on the field was rather noticeable, too.
Bay hit a three-run homer and Williams pitched six strong innings to improve to 2-0 since growing his funky sideburns, leading the Pittsburgh Pirates past the San Francisco Giants 5-2 on Tuesday night.
Jose Castillo and Humberto Cota also went deep for the suddenly powerful Pirates who have 18 home runs in May.
"The lack of home runs wasn't going to last all year," said Bay, who believes the Pirates have been more relaxed at the plate recently. "It was a matter of guys getting going."
Bay, last season's NL rookie of the year, hit his sixth homer of the year on a 3-1 pitch from Jim Brower (1-1) in the sixth. It gave him a nine-game hitting streak and spoiled a strong spot start by Jeff Fassero.
"That was a big home run for us," said Lloyd McClendon, who earned his 295th victory to move into a tie with Gene Lamont for 10th on the team's all-time managerial list. "We don't get many three-run homers. At this point in the season, it was really big for us, especially on the road. That will usually spell victory for you."
Bay also made an impressive diving catch in center field on a hard-hit line drive by Pedro Feliz in the fourth.
Castillo led off the seventh with his second homer. Cota added a solo shot in the ninth.
Jose Mesa worked the ninth for his 12th save this year and 22nd straight dating to last season. That is one off the club record set by Mike Williams from Sept. 3, 2000-June 28, 2001. Williams (3-3) allowed two runs and five hits to win his second straight following a three-start losing streak and avenge a loss to the Giants on April 30.
He tried to match Fassero.
"I figured he was in the pen to start the year and I didn't know how long he'd go," Williams said. "I wanted to keep the same rhythm."
Lance Niekro, who felt ill before the game, hit a two-run homer and Fassero pitched five strong innings, but the Giants' weary bullpen couldn't hold the lead.
Lefty reliever Scott Eyre was hurt fielding Matt Lawton's slow roller toward first in the seventh. He was able to walk off the field after he stumbled trying to pick up the ball and his right calf cramped, the same injury he had during spring training. He was listed as day-to-day.
Niekro connected for his fifth homer in the fifth.
Fassero made his first start since Aug. 19 against the New York Mets. He retired 14 of the final 15 batters he faced -- with only Ty Wiggington reaching on shortstop Omar Vizquel's high throw to first for an error in the second.
"The innings were a little surprising to me," Fassero said. "I hadn't thrown more than two innings in a game this year, so there was no reason to push it and get hurt. Throwing strikes was the biggest thing."
The 42-year-old non-roster invitee to spring training carried a no-hitter through 8 2/3 innings against the Pirates in 1994 while with Montreal. Giants manager Felipe Alou moved Fassero into the rotation that year while he was skipper of the Expos, and might just go with the 14-year veteran again Sunday at Houston.
Alou had hoped his starter would last at least three innings, but Fassero got through four innings with only 38 pitches. His seven pitches in the first inning were all strikes.
"I didn't think he would go five," Alou said. "He did better than we expected. He rose to the occasion. It's a situation in life -- in the season -- where you've got to turn it up a notch. I think he did tonight. It's up to every one of us to that, everybody, starting with me."
Both teams got bad news about their ailing aces before the game.
Jason Schmidt of the Giants went on the 15-day disabled list with a strained right shoulder, joining slugger Barry Bonds and closer Armando Benitez on the DL.
Pittsburgh's Oliver Perez will miss his scheduled start Wednesday because of stiffness in his left shoulder, and right-hander Josh Fogg will pitch on three days' rest in his place.
Vizquel went 0-for-3 and his 11-game hitting streak was snapped. ... At 42 years and 125 days, Fassero became the third oldest pitcher to start a game in Giants franchise history. Only Warren Spahn (44 years and 156 days on Sept. 27, 1965, vs. St. Louis) and Danny Darwin (42 years and 310 days on Sept. 1, 1998, vs. Montreal) were older. ... Bay is batting .385 during his hitting streak. ... Pirates OF-1B Craig Wilson underwent surgery on his injured left finger and is expected to be sidelined 6-to-8 weeks.