Dempster (2-4) allowed two runs and six hits in six innings as the Cubs ended San Francisco's six-game winning streak.

Reed Johnson drove in four runs, three on a bases-loaded triple in the seventh. Darwin Barney had three RBIs, and Starlin Castro also had three hits and drove in two runs.

Giants pitcher Madison Bumgarner (0-6) gave up two earned runs on five hits through six innings. He hasn't won since last September.

Cody Ross hit a two-run homer for the Giants.

At Cincinnati, Joey Votto's two-out, run-scoring single in the 10th inning completed Cincinnati's rally for a victory over St. Louis.

The Reds overcame a 5-2 deficit in the late innings.

Brandon Phillips' single off Eduardo Sanchez evened the score in the ninth, and Votto kept the Reds perfect in four extra-inning games this season.

Francisco Cordero (3-1) pitched out of a two-on threat in the ninth to get the win.

Phillies 5, Braves 4: In Atlanta, Ryan Howard hit a three-run homer and Raul Ibanez drove home the winning run in the eighth inning as Philadelphia topped the Braves.

Braves reliever Cristhian Martinez retired all 12 batters he faced and had a two-run double. He took over for Brandon Beachy, who left with an injury after two innings.

Antonio Bastardo (2-0) struck out Freddie Freeman with the bases loaded to end the seventh.

At Denver, Troy Tulowitzki broke out of a slump with a solo homer and two singles to help Colorado hold off San Diego.

The Rockies had a season-high 16 hits and scored their most runs of the year.

Cameron Maybin finished 4 for 4 with two homers and three RBIs for the Padres. It was the first multihomer game of his career and second straight four-hit game.

Jorge De La Rosa (5-1) gave up five runs and a season-high nine hits in 5 2-3 innings, but still got the win.

Dustin Moseley (1-5) allowed six runs and nine hits in four innings, his shortest outing of the season.

In Washington, Omar Infante used a clever slide to score on Greg Dobbs' double in the 11th inning, lifting Florida past Washington.

With one out, Infante singled off Brian Broderick (0-1), then came all the way around on Dobbs' drive to right. The ball beat Infante to the plate and Nationals catcher Wilson Ramos was in position to make a tag, but Infante slid headfirst and reached over Ramos to touch the back tip of the plate.

Edward Mujica (4-1) threw a scoreless 10th for the win.

Leo Nunez pitched the 11th for his 13th save.

The Marlins also hit four home runs. Gaby Sanchez and John Buck hit back-to-back homers in the first, Mike Stanton connected in the sixth, and Logan Morrison in the eighth.

In Houston, David Wright hit the go-ahead homer to cap New York's four-run eighth inning.

Wright's two-run shot was the last of three late homers that helped the Mets overcome a 4-0 deficit for their sixth victory in eight games.

Jason Bay started the run with a solo shot in the seventh and pinch-hitter Fernando Martinez cut it to 4-3 with a long, two-run drive in the eighth.

Wright's homer was his sixth of the season.

Pat Misch (1-0) pitched 1 2-3 hitless innings for the victory.

Brewers 5, Pirates 2: In Milwaukee, Jonathan Lucroy homered and Ryan Braun drove in three runs to help Milwaukee beat Pittsburgh after an incident cleared both benches briefly in the third.

Tempers flared after Rickie Weeks and Ronny Cedeno became entangled in a rundown, but the situation was quickly brought under control without any ejections.

Yovani Gallardo (4-2) pitched six solid innings before giving way to the bullpen.

Cedeno hit a two-run homer for Pittsburgh.

In Los Angeles, Clayton Kershaw allowed three hits over seven innings and Rod Barajas hit a solo homer as Los Angeles defeated Arizona.

The Dodgers won their third in a row while Arizona dropped its fifth straight, with each loss by a run.

Kershaw (5-3) struck out a season-high 11 batters to win his fourth straight start against Arizona.

Joe Saunders (0-5) gave up four runs and six hits in 6 2-3 innings as he lost his career-high sixth straight game.