PITTSBURGH -- Barry Bonds hit his 598th career homer, one of six San Francisco home runs, and J.T. Snow had a three-run shot and five RBIs as the Giants roughed up the Pittsburgh Pirates 10-5 Sunday.
Bonds went 3-for-4 and scored three times while homering for the second game in a row. His 31st home run of the season led off the ninth inning and left him two away from joining Hank Aaron, Babe Ruth and Willie Mays as the only players with 600 homers.
Snow, productive in the second half since getting over some nagging injuries, hit a two-run double in the second against Kris Benson (4-6), then followed with a three-run homer during a five-run sixth.
Craig Wilson homered twice for Pittsburgh off Kirk Rueter (10-6).
Cubs 4, Rockies 1
CHICAGO -- Mark Prior struck out 13 in his first career complete game, pitching a five-hitter to lead Chicago past Colorado.
Prior (5-3), in his 14th career start, took a shutout into the eighth inning. The 21-year-old right-hander walked two and finished the game by striking out Jack Cust for the third time on his 136th pitch of the game.
The Rockies finished 2-10 on their longest road trip of the season.
Mark Bellhorn hit a two-run homer off Shawn Chacon (5-8). Diamondbacks 12, Mets 7
NEW YORK -- Luis Gonzalez hit a tiebreaking three-run homer in the seventh inning off Mark Guthrie (5-1) to lift Arizona over New York.
Arizona won for the 11th time in 13 games and remained a season-high six games ahead of Los Angeles in the NL West.
Ty Wigginton, recalled from the minors earlier in the day to replace an ailing Roberto Alomar at second base, hit a three-run shot for New York -- his first career home run. He added a double and finished 4-for-5 for the Mets, who have dropped four straight to fall into fifth place in the wild card race.
Mike Koplove (3-0) pitched two scoreless innings for the victory. Byung-Hyun Kim got five outs for his 27th save.
Astros 5, Expos 4
MONTREAL -- Kirk Saarloos won his fourth straight start and got his first career RBIs with a two-run double to lead Houston over Montreal before a crowd of 20,027 for a Gary Carter bobblehead promotion.
Saarloos (4-2), the NL Rookie of the Month for July, hit one of Houston's four doubles off Javier Vazquez (8-7) with runners at first and second and two outs in the second.
Saarloos allowed four hits through five before allowing three straight hits with one out in the sixth, leaving after Jose Vidro's RBI single made it 5-1. Billy Wagner earned his 23rd save.
Dodgers 4, Phillies 3
PHILADELPHIA -- Omar Daal homered and pitched 6 1-3 effective innings against his former team as Los Angeles beat Philadelphia.
Adrian Beltre added a two-run homer for the Dodgers against Brett Myers (1-2).
Daal (9-6), Philadelphia's opening day starter last year before being traded to the Dodgers in the offseason, hit a solo shot in the third inning. It was his second career homer.
Eric Gagne pitched the ninth for his 36th save in 38 chances.
Marlins 7, Brewers 2
MIAMI -- Kevin Millar led Florida's home run attack and Michael Tejera (7-4) pitched seven shutout innings against Milwaukee.
Mike Lowell and Derrek Lee hit consecutive homers for the Marlins, who won for the fourth time in five games and climbed within one victory of .500.
Millar homered for the second straight game and added a pair of singles to finish 3-for-3 and two RBIs.
Ruben Quevedo (6-9) lost for the third time in his last four starts.
Reds 15, Padres 10
SAN DIEGO -- Russell Branyan homered three times and scored the go-ahead run on Brandon Larson's ninth-inning single off Trevor Hoffman as Cincinnati beat San Diego.
Branyan hit a two-run homer in the first inning and a solo home run in the fourth off Padres starter Bobby J. Jones. Branyan then hit a two-run homer in the seventh off reliever Mike Holtz as the Reds overcame a five-run deficit to tie the game at 10.
With a chance to tie the major league record for home runs in a game, Branyan walked in the ninth off Hoffman (1-4) following a single by Austin Kearns.
With the bases loaded and one out, Larson punched a two-run single to short center field, knocking out Hoffman. Todd Walker followed with a three-run homer off Tom Davey to give him five RBIs on the game.
Gabe White (5-1) got the win.
Twins 5, Royals 4
MINNEAPOLIS -- The Minnesota Twins scored the winning run in the 10th inning on a bizarre play, with Corey Koskie being hit by a throw as he ran down the first-base line for a 5-4 victory over the Kansas City Royals.
The AL Central leaders won their fifth in a row and improved to 19-4 since the All-Star break. Kansas City lost its sixth straight game.
The Twins loaded the bases with one out in the 10th and Koskie pulled a grounder down the line. First baseman Chan Perry made a diving stop, tagged the bag with his glove and got up to throw home from foul ground.
But Perry's throw nailed Koskie in the chest, allowing Torii Hunter to score.
Koskie, who was more than halfway down the baseline, stayed on the ground for a couple of minutes and then was driven off the field on a cart. Twins trainer Jim Kahmann said Koskie was responsive and able to walk.
J.C. Romero (7-1) got the win and Scott Mullen (3-3) took the loss.
Athletics 4, Tigers 0
OAKLAND, Calif. -- Cory Lidle teamed with three Oakland relievers on a one-hitter, and Miguel Tejada hit a three-run homer.
Lidle (4-9) retired Detroit's first 15 batters before Wendell Magee's line-drive single to lead off the sixth. He faced just 22 hitters in seven innings, striking out six and getting double-play grounders to kill the Tigers' only scoring chances.
Tejada extended his hitting streak to 24 games -- the second-longest in the majors this season behind Luis Castillo's 35-gamer for Florida -- with his third-inning blast against Mike Maroth (3-4).
Blue Jays 5, Orioles 4
TORONTO -- Eric Hinske hit a go-ahead single off B.J. Ryan (2-1) in the seventh inning and Toronto beat Baltimore.
Hinske drove in two runs as Toronto stopped the Orioles' four-game winning streak.
Felix Heredia (1-2) pitched an inning for the win. Kelvim Escobar, who blew a two-run lead on Friday, worked the ninth for his 21st save.
Devil Rays 10, White Sox 3
ST. PETERSBURG, Fla. -- Aubrey Huff and Jared Sandberg hit consecutive homers and Joe Kennedy threw seven strong innings as Tampa Bay beat Chicago.
Huff and Sandberg homered in the span of four pitches off Mark Buehrle (14-8) to put the Devil Rays up 3-2 in the sixth. It's the first time Tampa Bay has hit consecutive homers this season.
Kennedy (7-8) gave up two runs and seven hits. He matched his victory total from his rookie campaign last season.
Yankees 7, Angels 5
ANAHEIM, Calif. -- Alfonso Soriano hustled to beat second baseman Adam Kennedy's flip for a go-ahead single with two outs in the 12th inning, and the New York Yankees beat the Anaheim Angels.
Scot Shields (3-2), the sixth Anaheim pitcher, walked the bases loaded before Soriano hit a slow grounder to the right side.
Kennedy shoveled the ball with his glove on a hop to first, and umpire John Hirschbeck ruled Soriano safe, allowing Rondell White to score.
First baseman Scott Spiezio fell backward to the ground after the call was made, and Jorge Posada raced home, beating the throw from Shields, who took the ball from Spiezio's glove.
Mike Stanton (5-1), pitched 2 2-3 scoreless innings for the victory.
Ramiro Mendoza, the sixth New York pitcher, blanked the Angels in the bottom of the 12th for his fourth save in seven chances. Yankees relievers combined to pitch 10 scoreless innings.
Indians 10, Mariners 8
SEATTLE -- Pinch-hitter Bill Selby hit a tiebreaking single in the ninth inning against Seattle closer Kazuhiro Sasaki as the Cleveland Indians blew a six-run lead before beating the Mariners.
The Indians led 8-2 before the Mariners tied the game with six runs in the sixth inning. But Cleveland won it with two runs in the ninth to snap Seattle's six-game winning streak.
With a runner on first and one out, pinch-hitter Lee Stevens singled off Sasaki (2-5) to move Travis Fryman to third base. Selby followed with a single to give the Indians a 9-8 lead. Matt Lawton added an RBI groundout.
Jake Westbrook (1-1) allowed one run in 2 2-3 innings to get the win and Mark Wohlers pitched the ninth for his third save.
Red Sox 11, Rangers 3
ARLINGTON, Texas -- Pedro Martinez struck out 10 in seven shutout innings for his 15th win, and Nomar Garciaparra homered twice as Boston beat Texas.
Martinez (15-2), who has pitched 23 scoreless innings over his last three starts, joined teammate Derek Lowe and Oakland's Barry Zito as the AL's only 15-game winners. He allowed just three singles.
Garciaparra went 4-for-4 to lead the Red Sox, who had 19 hits. Shea Hillenbrand and Cliff Floyd, in just his fourth game for Boston, had three hits each. Every Boston starter had at least one hit.
Garciaparra's second homer, a two-run shot, capped a five-run fourth and chased Aaron Myette (0-4) with the score 8-0.