Pinch hitter Marlon Anderson sparked a five-run seventh inning with a two-run go-ahead single, helping the St. Louis Cardinals end the visiting Oakland Athletics' eight-game winning streak.
St. Louis starter Matt Morris (7-5) worked around two-run homers to Damian Miller and Mark Kotsay, allowing four runs on six hits in seven innings. Jason Isringhausen got one out for his 14th save.
Reds 5, Rangers 4 -- Texas kept Ken Griffey stuck at 499 homers, but host Cincinnati ended its seven-game losing streak on Barry Larkin's RBI single in the 11th.
Giants 4, Blue Jays 3 -- San Francisco's Jason Schmidt (8-2) struck out 12 over 6 2/3 innings, dominating visiting Toronto for his career-high eighth straight victory.
Angels 4, Pirates 2 -- Chone Figgins's two-run double broke a tie in the ninth and Garret Anderson hit a two-run homer to lead Anaheim past host Pittsburgh, extending the Pirates' losing streak to nine games.
White Sox 7, Marlins 5 -- Carlos Lee needed extra innings to extend his hitting streak to 28 games as Chicago beat Florida in Miami.
Timo Perez hit a tying, two-run homer in the ninth off closer Armando Benitez, and Lee, hitless in his first four plate appearances, doubled and scored in the 10th.
Twins 8, Expos 2 -- Johan Santana (4-4) got his first career RBI and allowed three hits in eight innings, and Torii Hunter homered and drove in three runs to lead Minnesota in Montreal.
Mets 7, Indians 2 -- Mike Piazza and Ty Wigginton had three hits apiece and Karim Garcia had a two-run homer in a 14-hit attack as host New York, which had lost seven of nine, ended Cleveland's four-game winning streak.
Braves 3, Royals 2 -- At Atlanta, Andruw Jones scored the winning run on a wild pitch by Jason Grimsley in the eighth, helping the Braves rally past Kansas City.
Tigers 10, Phillies 3 -- Jeremy Bonderman (5-5) pitched one-hit ball over seven dominant innings and Carlos Guillen had a bases-loaded triple to lead Detroit over host Philadelphia.
Devil Rays 5, Padres 2 -- Aubrey Huff hit a three-run homer, Mark Hendrickson (4-5) pitched into the eighth, and visiting Tampa Bay tied a franchise record with its sixth straight victory.
Dodgers 5, Orioles 1 -- Juan Encarnacion hit a three-run homer and Jose Lima (5-2) pitched seven strong innings to lead host Los Angeles over Baltimore.
Brewers 3, Mariners 0 -- Victor Santos (5-2) and two relievers combined on a two-hitter and Lyle Overbay drove in two runs to lead host Milwaukee over Seattle.
Cubs 4, Astros 2 -- In the lone National League game, Ramon Martinez provided a two-run single during Chicago's three-run ninth in Houston.