SAN FRANCISCO - Barry Bonds hit his 666th homer through a swirling mist and over the centerfield wall, and the Giants held on to beat the San Diego Padres 4-3 Monday night to snap a season-worst four-game losing streak.
Bonds has homered in six consecutive games with an at-bat - he was intentionally walked as pinch-hitter Wednesday - and connected for the first time this season against the Padres after failing to hit a homer in three games at Petco Park in the season's first week.
He got his major league-leading eighth homer one batter after Marquis Grissom hit a two-run shot to left, the first time this season the Giants have hit back-to-back homers.
Jerome Williams carried a no-hit bid into the fifth before Khalil Greene's one-out double to left-center broke it up. Williams got out of the inning unscathed and pitched 62/3 strong innings, allowing one run and four hits, striking out four and walking two.
Matt Herges got the first two outs of the ninth before running into trouble. He gave up three straight hits, including Sean Burroughs' bloop single that glanced off the glove of charging centerfielder Grissom, allowing Terrence Long to score from second. Mark Loretta followed Burroughs with a single, chasing Herges.
Jason Christiansen entered and allowed a run-scoring single to Brian Giles. The Giants went to Jim Brower, who got Phil Nevin to ground out to first, converting his first save opportunity.
It was the best outing yet for Williams, a second-year pitcher coming off a shaky spring.
CUBS 8, REDS 1: Derrek Lee pumped his fists and let out a wide smile when his fly to right cleared the wall for a grand slam.
He has had few hits to celebrate this season.
Lee connected off reliever Ryan Wagner in the seventh inning for host Chicago. The homer was the first in 11 games for Lee, a notoriously slow starter. He entered hitting .244 with one homer and four RBIs.
"It seemed like I hadn't had a hit in forever," Lee said. "I don't know that I've ever had a quick start. Maybe I can pick it up the next couple of weeks."
Lee, acquired in the offseason in a trade with Florida, is a career .228 hitter in March and April and has hit .223 in May.
Matt Clement settled down after a rocky first to allow one run on four hits in 61/3 innings and pick up his second win in as many starts.
The right-hander retired 11 in a row and 15 of 16 at one point, striking out six and walking four.
The Cubs led 3-1 when Lee came to the plate with the bases loaded and no outs. The first baseman said he was just trying to hit a sacrifice fly.
Instead, the ball kept sailing.
"That was huge. That was a real big blow," Cubs manager Dusty Baker said. "I'm just glad he hit it when he hit it."
METS 4, EXPOS 1: Tyler Yates came up against the team with the majors' worst record and came away with his first career win.
Yates shut down punchless Montreal on five hits over 52/3 innings as host New York extended the Expos' misery.
Karim Garcia and Ty Wigginton homered off Tomo Ohka and the Mets rebounded from three losses against Pittsburgh to send the Expos to their eighth straight defeat, Montreal's worst losing streak since 2000.