Diamondbacks 6, Mets 3

Miguel Montero homered, scored twice and drove in a pair of runs to help the Arizona Diamondbacks overcome Ike Davis's three home runs in a 6-3 win over the skidding New York Mets.

Ian Kennedy pitched into the seventh inning and Gerardo Parra added three hits and two RBIs for Arizona (51-50), which has won eight of 11.

New York managed nothing at the plate besides three solo shots by Davis and lost for the 14th time in 16 games.

Davis connected in his first three at-bats, all against Kennedy. The first baseman added a single in the eighth and finished 4 for 4, raising his batting average to .216. He was on deck when J.J. Putz struck out David Wright with two on to end it.

Cubs 6, Cardinals 3

Pinch hitter Reed Johnson drove in the go-ahead with a bunt single in the seventh inning and the Chicago Cubs got past St. Louis 3-2 Saturday, ending the Cardinals' four-game winning streak.

The Cubs had lost five in a row to St. Louis. Chicago has won nine of its last 11 overall at Wrigley Field.

Johnson caught the Cardinals by surprise when he squared up on the first pitch with runners on first and third and two outs.

His bunt fell perfectly between reliever Brian Fuentes and third baseman Matt Carpenter, allowing pinch-runner Tony Campana to score.

James Russell (3-0) earned the win in relief.

Reds 9, Rockies 7

Johnny Cueto withstood a rough start to pitch effectively for six innings, Ryan Ludwick hit two home runs, and the Cincinnati Reds won their season-high ninth straight by beating the Colorado Rockies 9-7.

Scott Rolen, Drew Stubbs and rookie Todd Frazier also homered for the NL Central leading Reds, who have gone 13-2 since the All-Star break and hit a high-water mark for the season at 20 games above .500 (60-40).

The winning streak is the longest for the Reds since a 10-game run in 1999.

Cueto (13-5) allowed 10 hits and five runs, including three in the first inning, and twice had errant pickoff throws but managed to keep the ball in the park in hitter-friendly Coors Field to win his fourth consecutive decision.

Dodgers 10, Giants 0

Matt Kemp homered among his four hits and drove in four runs, Chad Billingsley took a two-hitter into the eighth inning and the visiting Los Angeles Dodgers beat 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 NL West-leading Giants.

Billingsley (6-9) drove in a run for Los Angeles with a sacrifice fly. He gave up leadoff doubles to Buster Posey in the second and Angel Pagan in the fifth, the only baserunners he allowed through seven innings.

He gave up two more hits and was lifted with one out in the eighth. Barry Zito (8-7) gave up four runs on seven hits over 5 1/3 innings.

Braves 2, Phillies 1

Mike Minor struck out nine and combined with Craig Kimbrel on a four-hitter, Jason Heyward had two hits and drove in a run, and the Atlanta Braves edged Joe Blanton and the Philadelphia Phillies 2-1 Saturday night. 

Minor (6-7) allowed one run on four hits and no walks in eight innings. His nine strikeouts matched his season high. He retired the last 13 batters he faced. 

The Phillies' only run came on Chase Utley's homer in the fourth. 

Kimbrel pitched a perfect ninth for his 30th save. Utley was caught looking at Kimbrel's 99-mph fastball for a strike to end the game. 

The Braves are 6-2 against Philadelphia with five straight wins in the 2012 series.

Marlins 4, Padres 2

Jose Reyes hit a two-run homer and Nathan Eovaldi won his Miami debut, leading the Marlins to a 4-2 victory over the San Diego Padres.

Justin Ruggiano also went deep and Steve Cishek earned his fourth save for the Marlins, who snapped a three-game skid.

Yonder Alonso had two hits and drove in a run for the Padres, who had won seven of 10.

Eovaldi (2-6) was traded to Miami on Wednesday from the Dodgers in a four-player swap that sent Hanley Ramirez to Los Angeles. The 22-year-old right-handerallowed one run and five hits in 5 1/3 innings while striking out five and walking two.

The Marlins had scored three runs or fewer in nine consecutive games, which matched a franchise record set in 1994.

Nationals 4, Brewers 1

Wisconsin-native Jordan Zimmerman pitched his first game against Milwaukee, and his teammates hit three home runs in the Washington Nationals' 4-1 victory over the Brewers.

Zimmerman (8-6) struck out six and gave up five hits in six innings. The right-hander, who was born in Auburndale and played at the University of Wisconsin-Stevens Point, has not allowed more than one earned run in each of his last seven starts.

Drew Storen and Sean Burnett each threw an inning of relief and Tyler Clippard pitched the ninth for his 19th save.

Pirates 4, Astros 3

Rod Barajas hit a tiebreaking single in the eighth inning and the Pittsburgh Pirates rallied past host Houston 4-3, sending the Astros to their club-record 12th straight loss.

Wandy Rodriguez pitched six innings in his Pittsburgh debut, allowing three runs and six hits with five walks against his former team. The free-falling Astros, who have lost 25 of 27, traded the left-hander to the Pirates on Tuesday for three minor leaguers.

Alex Presley and Neil Walker homered for Pittsburgh.

Barajas stopped an 0-for-18 slide with his clutch single off Fernando Rodriguez that scored Andrew McCutchen. The hit also ended an 0-for-17 streak with runners in scoring position for the Pirates.

Houston lost 11 in a row in 1995.