CHICAGO (AP) - Brian McCann homered twice and the Atlanta Braves beat the Chicago Cubs 8-3 Thursday.
McCann hit a three-run homer in the first and a solo shot in the seventh for his eighth career multi-homer game. Michael Bourn had a career high-tying four hits, scored two runs, and drove in a run.
Marlon Byrd homered and Tyler Colvin added a triple and a run for the Cubs, who committed four errors.
Brandon Beachy (7-2) won his fourth straight decision, recovering from a shaky start to pitch six innings. He allowed six hits, two earned runs and struck out eight.
Matt Garza (6-10) allowed six runs - three earned - and eight hits over five innings. He struck out six.
Diamondbacks 8, Nationals 1
WASHINGTON (AP) - Wade Miley threw six scoreless innings to get his first major league victory, and Chris Young and Paul Goldschmidt homered for Arizona.
Miley (1-1) allowed five hits, struck out four and walked four in his second game in the majors. The 24-year-old left-hander repeatedly worked out of trouble - allowing two men to reach base in four of the first five innings - but he mixed his low 90s fastball with a generous dose of offspeed pitches to keep the Nationals in check.
John Lannan (8-10) allowed two runs to become Washington's latest hard-luck loser. He had one major mistake - a fastball that Young deposited about a half-dozen rows into the left field bleachers with one out in the sixth to break a scoreless tie. Lannan allowed seven hits over six innings in dropping his third straight decision.
Cardinals 8, Pirates 4
ST. LOUIS (AP) - Matt Holliday hit a three-run homer and David Freese had a two-run single to lead St. Louis over Pittsburgh.
The Cardinals ended a three-game losing streak and moved within 9Â½ games of first-place Milwaukee in the NL Central. Pittsburgh lost for the sixth time in nine games.
Edwin Jackson (10-9) allowed one earned run in six innings. Jackson, acquired in a trade from Toronto on July 27, reached 10 wins for the fourth straight season.
Marc Rzepczynski, Jason Motte and Fernando Salas combined for three scoreless innings.
Freese blooped a bases-loaded hit to put St. Louis in front to stay, 5-4.
Charlie Morton (9-7) gave up five runs and nine hits in 4 1-3 innings. He had a 0.95 ERA in his previous four starts.
Astros 3, Giants 1
SAN FRANCISCO (AP) - Jordan Schafer homered and scored three times, Henry Sosa pitched six strong innings against his former club to earn his first career victory and Houston beat San Francisco to end a four-game losing streak.
J.D. Martinez doubled twice and had two RBIs for the Astros, who stole a season-high four bases and turned three double plays on defense. Houston, which still owns the worst record in the majors at 43-88, has won three of four against the defending World Series champs.
The Giants, losers of five of seven, fell three games behind first-place Arizona in the NL West.
Sosa (1-2) pitched with runners on base every inning but limited the damage. The rookie right-hander began the season with the Giants before being shipped to Houston as part of the July 19 trade that sent infielder Jeff Keppinger to San Francisco.
Wilton Lopez worked two scoreless innings and Mark Melancon earned his 14th save in 18 chances.
San Francisco had the potential tying run at the plate in the ninth but Pablo Sandoval hit into a 3-6-3 double play before Aubrey Huff flied out.
Ryan Vogelsong (10-4) went 7 1-3 innings but lost for the third time in four starts.