CHICAGO — Rookie Todd Frazier doubled twice and drove in four runs, Aroldis Chapman came out of the bullpen to stop an eighth-inning rally attempt and Cincinnati beat Chicago 10-8 Friday to end its season-high losing streak at five games. Ryan Ludwick hit a two-run homer in the third against Justin Germano (1-2) as the NL Central leaders built a 5-1 lead. Ludwick also doubled, walked and matched his career best with four runs. Chicago lost for the ninth time in 10 games and made five errors — by five players — that led to two unearned runs. Homer Bailey (10-7) allowed four runs and nine hits in 5 2-3 innings. He set his career high for wins, topping last year's nine. After Chicago closed to 9-8 with two runs in the eighth, Chapman struck out Anthony Rizzo with a runner on third. He retired the side in order in the ninth for his 26th save. Braves 4, Mets 0: Paul Maholm pitched a three-hitter in his second start for Atlanta and the Braves got two-run homers from Jason Heyward and Dan Uggla to beat New York. Heyward connected in the first inning to help spoil Matt Harvey's home debut with the Mets. Uggla went deep in the eighth off reliever Josh Edgin for his first homer in more than a month as Atlanta won for the 13th time in 16 games. The Braves played their first in a stretch of 20 straight games, this one without Chipper Jones. The All-Star third baseman said he was out with back tightness caused by the bed in his New York hotel room. Harvey (1-3) gave up just two hits over six innings but walked five in his fourth major league start. Maholm (10-7) threw 95 pitches in his fourth career shutout and sixth complete game. He struck out five and walked none for his sixth victory in seven decisions. Dodgers 5, Marlins 2: Hanley Ramirez drove in two runs playing for the first time against the team that traded him last month, and the Los Angeles Dodgers beat Miami. Ramirez, who spent seven seasons with the Marlins before being dealt away July 26, broke a tie in the sixth inning with an RBI single. He added a 40-foot single with the bases loaded in the seventh. Clayton Kershaw (10-6) allowed two runs in 6 1-3 innings to win his third consecutive start. Kenley Jansen allowed two baserunners in the ninth but completed a four-hitter to earn his 23rd save in 29 chances. Juan Rivera hit a two-run homer off Mark Buehrle (9-11), who failed for the fifth time in a row to reach the 10-win milestone for a 12th consecutive season. Buehrle allowed four runs in six innings. Justin Ruggiano hit his 10th homer for Miami. Rockies 3, Giants 0: Tyler Chatwood combined with three relievers on a three-hitter as Colorado beat San Francisco. Wilin Rosario doubled twice and scored a run while Tyler Colvin added two hits and an RBI. Padres 9, Pirates 8: Chase Headley homered from both sides of the plate for the first time in his career and drove in five runs to rally San Diego past Pittsburgh. Headley hit a three-run homer to cap a six-run fifth inning that tied the score at 7. His two-run drive in the seventh off left-hander Tony Watson (5-2) put the Padres ahead 9-8 after Rod Barajas hit an RBI single for the Pirates in the sixth. Nationals 9, Diamondbacks 1: Stephen Strasburg allowed one hit over six innings and Ryan Zimmerman homered to help Washington rout slumping Arizona for its seventh straight win. Phillies 3, Cardinals 1: Roy Halladay pitched eight innings and Chase Utley hit a tiebreaking, two-run homer in the eighth to lift Philadelphia over St. Louis. Astros 4, Brewers 3: Brian Bogusevic's RBI single in the ninth inning capped a two-run rally that lifted Houston over Milwaukee. — Agencies