The Tampa Bay Devil Rays set a franchise record with their seventh straight win, beating the Padres, 9-6, in San Diego behind leadoff batter Carl Crawford, who went 4 for 5 with three runs and two RBIs.
Jose Cruz Jr. hit a two-run, two-out homer to cap a four-run rally in the seventh inning for the Devil Rays, who have the longest current winning streak in the majors.
Pirates 5, Angels 3 -- Daryle Ward's three-run homer finished off host Pittsburgh's five-run fifth as it avoided matching its longest losing streak in 36 years by beating Anaheim.
Despite falling behind, 2-0, the Pirates averted their first 10-game losing streak since July 6-15, 1968, or two ballparks ago for them. They also ended a 14-game interleague losing streak against AL West clubs and a six-game home skid.
Cubs 4, Astros 1 -- Greg Maddux earned his 295th win, pitching Chicago past host Houston for its fifth straight victory.
Todd Hollandsworth's RBI triple sparked a two-run eighth for the Cubs. Maddux (6-5) allowed one run and eight hits in 6 1/3 innings.
Reds 7, Rangers 4 -- A capacity crowd hoping for home run history saw Ken Griffey settle for a single, then reveled in another late comeback that rallied Cincinnati over visiting Texas.
Ryan Freel had a tiebreaking, two-run double in the eighth, and Barry Larkin followed with a two-run single.
Cardinals 6, Athletics 2 -- Jason Marquis pitched seven sharp innings and hit a two-run double, leading host St. Louis.
Jim Edmonds and Reggie Sanders homered for the Cardinals, who have won 12 of 15 to move a season-best 11 games above .500.
Twins 5, Expos 4 -- Luis Rivas hit a disputed home run in the 11th, sending Minnesota over host Montreal.
Rivas's drive over the wall in the left-field corner was called fair by third base umpire Brian O'Nora. However, television replays clearly showed the ball sailed to the left of the net that serves as a foul pole at Olympic Stadium and should have been ruled foul.
Marlins 4, White Sox 0 -- Carl Pavano pitched a three-hitter and Mike Lowell homered for the second straight game to give Florida its shutout of Chicago in Miami. Carlos Lee's hitting streak ended at 28 games, a team record and the longest in the majors this season.
Giants 10, Blue Jays 2 -- Pedro Feliz and A.J. Pierzynski each hit two-run homers, and Kirk Rueter pitched seven strong innings in San Francisco's walloping of visiting Toronto.
Dodgers 6, Orioles 3 -- Odalis Perez got his second win in nine starts, Jayson Werth hit a three-run homer, and Los Angeles beat visiting Baltimore.
Indians 9, Mets 1 -- C.C. Sabathia allowed one run and six hits in eight innings, leading visiting Cleveland over New York.
Royals 10, Braves 4 -- Angel Berroa hit a three-run homer in the eighth inning and Kansas City had its most hits -- 20 -- in almost four years as it clobbered host Atlanta.
Brewers 4, Mariners 1 -- Doug Davis pitched seven solid innings and pinch hitter Bill Hall smacked a two-run homer to lead Milwaukee over visiting Seattle.. . .
The game between the Phillies and Detroit Tigers in Philadelphia was postponed by rain, and will be made up today as part of the first day-night doubleheader at Citizens Bank Park.