The Braves had won five in a row this season over their NL East rival, and nine straight dating to last season.

Zimmermann (5-1) made sure that streak ended with another dominating performance, snapping a three-game losing streak that had knocked the Nationals under .500.

Atlanta starter Paul Maholm (3-3) nearly matched Zimmermann. He allowed only three hits in eight innings, retiring the last 13 batters he faced.

But Desmond provided all the runs that Washington needed, homering to left-center on a 1-1 pitch in the fourth after Bryce Harper led off with a walk.

PIRATES 6, BREWERS 4

MILWAUKEE (AP) — Starling Marte hit a tying two-run homer in the eighth inning and Brandon Inge had a go-ahead RBI single to rally Pittsburgh to a victory over Milwaukee, snapping the Pirates' nine-game losing streak against the Brewers.

Pedro Alvarez added a run-scoring single to cap a four-run eighth as Pittsburgh won for the 10th time in its last 15 games and ended Milwaukee's eight-game home winning streak.

Bryan Morris (1-1) got the last two outs of the seventh for his first career victory. Mark Melancon pitched the eighth and Jason Grilli the ninth for his 11th save.

John Axford (0-3) gave up all four runs while getting just two outs in the eighth for the Brewers.

CARDINALS 4, REDS 2

ST. LOUIS (AP) — Lance Lynn won his 10th straight decision, allowing one run and five hits in seven innings to lead the Cardinals over the Reds.

Lynn (5-0) struck out five and walked two, improving to 10-0 in 10 starts and one relief appearing since losing to Milwaukee on Sept. 7.

It's the second straight quick start for Lynn, who was 6-0 with a 1.48 ERA through May 7 last season, then went 12-7 with a 4.46 ERA the rest of the way.

METS 7, MARLINS 6

MIAMI (AP) — Jordany Valdespin hit a three-run, pinch-homer, and the Mets rallied Wednesday to break a six-game losing streak and avert a series sweep, beating the Marlins.

The Mets' dormant offense finally came alive after they fell behind 4-1. Valdespin put New York ahead to stay in the sixth inning with his second homer, and NL RBIs leader John Buck added a two-run double in the seventh.

Buck and David Wright each had three of New York's 13 hits. Wright hit his third homer for the Mets, who totaled only 11 runs during their losing streak.

CUBS 6, PADRES 2

CHICAGO (AP) — Scott Feldman retired 18 straight on his way to his first career complete game and the Cubs took advantage of former No. 1 pick Andrew Cashner's wildness in a 6-2 win over the Padres.

Feldman (2-3) earned his second straight win, allowing two runs and three hits while walking one. After Chase Headley singled with two outs in the first, Feldman retired the next 18 batters.

Feldman had 12 strikeouts to set a new career high. He also had an RBI double in the second to give the Cubs a 2-0 lead.

Starlin Castro was 2 for 4 with two runs scored for the Cubs.

Cashner, making his first start against the team that made him its No. 1 pick in 2008, lasted four innings and gave up five runs, four earned.

GIANTS 9, DIAMONDBACKS 6

PHOENIX (AP) — Brandon Belt hit a three-run homer in the eighth inning and the San Francisco Giants rallied against Arizona's bullpen for the third straight game, beating the Diamondbacks to complete a three-game sweep.

Belt hit a two-run single off Brad Ziegler in the opener and Pablo Sandoval hit a two-run homer off Arizona closer J.J. Putz on Tuesday.

Belt finished off the series of comebacks with his homer off David Hernandez (1-2), giving San Francisco its first road sweep over the Diamondbacks since July 22-25, 2010.

Angel Pagan led off the game with a homer, Hunter Pence added a 460-foot solo shot and George Kontos (2-1) pitched 1 2-3 innings after starter Tim Lincecum struggled. Sergio Romo extended his scoreless streak against Arizona to 27 innings in the ninth for his 11th save.

Chad Pennington homered and matched a career-high with four RBIs for the Diamondbacks.

ROCKIES 7, DODGERS 3

LOS ANGELES (AP) — Troy Tulowitzki and Carlos Gonzalez each hit two-run doubles, and center fielder Dexter Fowler robbed Adrian Gonzalez of what would have been his second home run of the game, leading the Rockies to a victory over the Dodgers.

Reliever Josh Outman (1-0) got credit for the victory in the rubber game of the series, allowing one hit over two scoreless innings.

Josh Beckett (0-4) gave up five runs and five hits in four innings before he was lifted for a pinch-hitter. It's the first time in Beckett's 13-year career that the three-time All-Star and 2003 World Series MVP has gone winless in his first six starts.