Red Sox 6, Devil Rays 4
BOSTON -- David Ortiz hit a tying, two-run single and Jeremy Giambi's RBI double put Boston ahead as the Red Sox rallied for four runs in the eighth inning. Manny Ramirez and Nomar Garciaparra homered for Boston.
Blue Jays 7, Yankees 6
NEW YORK -- Carlos Delgado hit a three-run homer and Dave Berg's RBI double broke a sixth-inning tie as Toronto beat New York to snap a six-game losing streak. Toronto starter Cory Lidle (2-2) blew a 5-0 lead in the fifth, but the Blue Jays bounced back to beat New York for the first time in six meetings this season.
Twins 4, Tigers 2
MINNEAPOLIS -- Corey Koskie had three hits and two RBIs, and Rick Reed combined with three relievers on a six-hitter as Minnesota beat Detroit for the 14th straight time. Reed (1-2) pitched six innings, giving up six hits and two runs with five strikeouts for Minnesota.
White Sox 4, Royals 3
CHICAGO -- Frank Thomas foiled a shift with a sacrifice fly in the bottom off the ninth, and fans were too busy trying to keep warm to cause any trouble as Chicago beat Kansas City. One night after a fan ran out of the stands and tried to tackle umpire Laz Diaz, the focus was back on baseball at U.S. Cellular Field. The only rudeness fans showed was to White Sox reliever Damaso Marte, and that was after he gave up the tying homer to Angel Berroa in the eighth inning.
Angels 9, Rangers 8
ARLINGTON, Texas -- Bengie Molina hit the go-ahead two-run single in a strange seven-run eighth inning that gave Anaheim a win over Texas. The Angels sent 12 batters to the plate and scored four unearned runs in their rally. Darin Erstad and Salmon had RBI singles.
Athletics 4, Mariners 1
SEATTLE -- Tim Hudson outpitched Freddy Garcia again, and Oakland ended a six-game losing streak with a win over Seattle. Eric Chavez gave Hudson (2-1) all the offense he needed with a two-run home run in the first inning.
Cardinals 15, Brewers 2
MILWAUKEE -- Scott Rolen hit a pair of two-run homers and Matt Morris pitched six solid innings and hit his first major league home run for St. Louis. The Brewers managed only one unearned run off Morris (1-1). Morris scattered five hits while walking four and striking out seven.
Cubs 10, Reds 4
CHICAGO -- Sammy Sosa hit his 502nd home run, a three-run shot in the first inning, as Chicago overcame a number of mistakes. Sosa's homer to center, his third of the season, was one of four hit by Chicago.
Braves 3, Expos 2
SAN JUAN, Puerto Rico -- Rookie Horacio Ramirez shut out Montreal until the eighth inning and Gary Sheffield homered, leading revived Atlanta over the Expos. Ramirez (2-2) blanked the Expos until Ron Calloway's two-run homer in the eighth.
Diamondbacks 4, Rockies 3
PHOENIX -- Luis Gonzalez singled home the winning run as Arizona rallied for three runs in the ninth inning to beat Colorado. David Dellucci, who entered in the ninth after Danny Bautista left with a hip flexor, singled in two runs off Jose Jimenez to tie it at 3. Gonzalez followed with a line drive over the head of center fielder Preston Wilson.
Marlins 3, Phillies 1
PHILADELPHIA -- Brad Penny allowed just two hits in seven shutout innings and Ivan Rodriguez scored twice as Florida broke a three-game losing streak. Penny (2-1) struck out eight and walked three for the Marlins.
Astros 8, Giants 5
SAN FRANCISCO -- Jeff Kent hit a two-run double against his former team and Craig Biggio connected for a three-run homer as Houston sent San Francisco to just its second loss of the season.
Dodgers 3, Padres 0
LOS ANGELES -- Kazuhisa Ishii allowed three hits in seven innings, and slumping Fred McGriff hit a two-run double to cap a three-run sixth as Los Angeles beat San Diego. The Dodgers had lost each of their previous four games by one run.
-- Associated Press