Rockies 4, Cardinals 2: Ubaldo Jimenez became the first pitcher to reach 15 wins before the All-Star break in 10 years, allowing three hits over eight innings as host Colorado beat St. Louis.
Jason Giambi went 4-for-4 with two RBI and Dexter Fowler had two hits for the Rockies, who swept the three-game series.
After struggling in his past three starts, Jimenez (15-1) was dominant. He had one bad inning in each of those starts but he avoided that Thursday while striking out six and walking one.
Astros 2, Pirates 0: Roy Oswalt allowed only a first-inning single to Neil Walker, Lance Berkman hit two home runs and host Houston beat Pittsburgh.
Sign Up and Save
Get six months of free digital access to the Lexington Herald-Leader
Oswalt's seventh career shutout and 19th complete game finished the Astros' third sweep of the season — second over the Pirates, the only team in the NL Central with a worse record than Houston.
The win breaks a career-long, six-game home losing streak for Oswalt (6-10), who asked to be traded earlier this season. He struck out eight and walked two.
Giants 9, Brewers 3: Aubrey Huff homered and drove in four runs, and rookie Buster Posey homered as San Francisco's bullpen held on to finish a four-game sweep.
The visiting Giants outscored the Brewers 36-7 in the series as Posey hit four homers.
Padres 7, Nationals 1: Mat Latos threw seven shutout innings and had two hits, including one of San Diego's four homers, as the Padres beat host Washington.
White Sox 1, Angels 0: John Danks held the Angels hitless for six innings before finishing with a two-hitter as surging Chicago beat Los Angeles for a four-game sweep and their 22nd victory in 27 games.
Danks (8-7) gave up a leadoff single to Reggie Willits in the seventh, stopping his bid for the fifth no-hitter in the big leagues this season. But after yielding another single, he pitched out of trouble and got his first major-league shutout.
Blue Jays 8, Twins 1: Jose Bautista hit one of Toronto's five homers and Brett Cecil snapped a four-start winless skid as the host Blue Jays won.
Fred Lewis, Adam Lind, Jose Molina and Lyle Overbay also went deep for the Blue Jays, who hit 10 homers in the three-game series and lead the majors with 130. Bautista leads the majors with 23 homers and eight Blue Jays have at least 10 home runs.
Rays 5, Indians 2: Carl Crawford hit two two-run homers and Wade Davis stopped his six-game winless streak.
Davis (6-9) gave up two runs and four hits in seven innings. He had not won since May 29.