San Francisco 6, at Chicago 2: Tim Lincecum gave up four hits over seven innings as the Giants ended the four-game winning streak of the Cubs, who rested five regulars.
Milwaukee 8, at Pittsburgh 5: J.J. Hardy drove in four runs on three hits and the Brewers beat the Pirates for the 17th time in a row.
New York 4, at Atlanta 3: Livan Hernandez earned only his fourth win in 25 starts against Atlanta.
Philadelphia 10, at St. Louis 7: Shane Victorino was four for five with a home run and three RBIs and Jayson Werth had a three-run shot and four RBIs for the Phillies. Cardinals outfielder Rick Ankiel watched from the dugout after being released from the hospital.
at San Diego 2, Colorado 1 (10): Brian Giles' one-out double scored Edgar Gonzalez.
Houston 10, at Washington 10 (suspended): Suspended by rain in the 11th inning, the game will resume July 9 in Houston with the Nationals as the home team.
at Dodgers 3, Arizona 1: Jeff Weaver threw a solid five innings.