Matt Kemp homered among his four hits and drove in four runs and Chad Billingsley took a two-hitter into the eighth inning as the Los Angeles Dodgers hammered the San Francisco Giants 10-0.
Hanley Ramirez had three RBIs in helping the Dodgers beat San Francisco for the second straight day to pull within a game of the National League West-leading Giants.
The Atlanta Braves defeated the Philadelphia Phillies 2-1 as Mike Minor struck out nine and combined with Craig Kimbrel on a four-hitter.
Jason Heyward had two hits and drove in a run as Atlanta edged Joe Blanton and Philadelphia.
The Pittsburgh Pirates edged Houston 4-3, Rod Barajas hitting a tiebreaking single in the eighth inning as the Astros suffered a club record 12th straight loss.
The Washington Nationals defeated the Brewers 4-1 as Wisconsin native Jordan Zimmermann pitched his first game against Milwaukee and his teammates hit three home runs.
Pinch-hitter Reed Johnson drove in the go-ahead with a bunt single in the seventh inning as the Chicago Cubs beat St Louis 3-2 to end the Cardinals' four-game winning streak.
Jose Reyes hit a two-run homer and Nathan Eovaldi won on his Miami debut as the Marlins beat the San Diego Padres 4-2.
Cincinnati beat Colorado 9-7 and the New York Mets were 6-3 winners against Arizona.
Yoenis Cespedes and Chris Carter hit two-run homers to back an effective pitching performance by Bartolo Colon as the Oakland Athletics beat the Baltimore Orioles 6-1 for a ninth win in 10 games in the American League.
Jemile Weeks had three hits and scored twice for the Athletics who are on course for the best July in franchise history with a record of 18-3.
The Boston Red Sox won 8-6 against the New York Yankees with Curtis Granderson misplaying Pedro Ciriaco's ninth-inning flyball into a go-ahead triple.
The Chicago White Sox won for a fifth straight time with a 5-2 defeat of the Texas Rangers as Adam Dunn hit a Major League-leading 31st home run.
The Toronto Blue Jays defeated the Detroit Tigers 5-1 with Edwin Encarnacion, Colby Rasmus and Yunel Escobar homering off Detroit newcomer Anibal Sanchez.
Kevin Millwood pitched effectively into the seventh inning and Jesus Montero hit a two-run homer as the Seattle Mariners beat the Kansas City Royals 4-3.
Samuel Deduno pitched seven strong innings for his second Major League win and Josh Willingham hit his 27th homer of the season to lead the Minnesota Twins to a 12-5 win against the Cleveland Indians.
Tampa Bay beat the Los Angeles Angels 3-0.