Kyle Davies (2-3) gave up four runs and eight hits in four-plus innings.
Diamondbacks 7, Pirates 4
At Pittsburgh, Brandon Webb (6-0) gave up three runs and 10 hits despite constantly being in trouble over six innings. Webb also was 6-0 last season before finishing 14-12 for Arizona.
Chad Tracy had four hits and Shawn Green drove in three runs for the Diamondbacks, who had 16 hits and won for the eighth time in 10 games. Jose Valverde pitched the ninth inning for his 10th save.
Johnny Estrada's run-scoring single against the pitching of Damaso Marte (0-2) broke a 3-3 tie in the seventh.
Reds 9, Nationals 6
At Cincinnati, Scott Hatteberg broke a 6-6 tie with a two-run double in the eighth against Mike Stanton (1-4).
Adam Dunn hit a two-run homer and Felipe Lopez stole a career-high four bases as the Reds (22-12) stayed in first place in the NL Central. Austin Kearns went 4-for-4 with two RBIs.
David Weathers (1-1) gave up the tying hit to Matt LeCroy in the eighth inning, then worked a scoreless ninth.
Cubs 8, Giants 1
At San Francisco, Barry Bonds saw more good pitches than most nights and it didn't make a difference. The San Francisco slugger remained stuck at 713 home runs and one shy of tying Babe Ruth for second on the career list, and the Chicago Cubs ended their eight-game losing streak behind a two-run homer and four RBIs from Jacque Jones.
Bonds went 0-for-3 with a five-pitch walk and a strikeout.
Carlos Zambrano (1-2) pitched eight strong innings, allowing one run and five hits.
Matt Cain (1-5) lost his third straight start. Altogether he allowed seven hits and eight runs in 5 1-3 innings.
Padres 3, Brewers 0
At San Diego, catcher Josh Bard hit a two-run double to lead the Padres to their 10th victory in 11 games.
The victory came a night after the Padres had their nine-game winning streak ended by the Brewers.
Chan Ho Park (2-1) scattered seven hits in six scoreless innings for his first win in four starts. He improved to 7-0 lifetime against Milwaukee. He struck out four and walked one.
Trevor Hoffman, who took the loss Tuesday night, pitched the ninth for his sixth save in six chances.
Brewers lefty Chris Capuano (4-3) allowed three runs in six innings but had his personal three-game winning streak snapped.
Dodgers 9, Astros 6
At Los Angeles, Brett Tomko allowed just one infield hit over six scoreless innings, Jeff Kent and Rafael Furcal hit three-run homers and the Dodgers handed the Astros their sixth straight loss.
Nomar Garciaparra also homered for the Dodgers, who have won five straight following a five-game skid. They have scored 31 runs in their last three games, two more than they had in their previous seven.
Tomko (4-1) struck out three and walked three. He was lifted after 104 pitches.
Lance Berkman hit his 12th homer for Houston.
Taylor Buchholz (2-2) allowed eight runs and 12 hits over 4 1-3 innings to get the loss.



