Ian Desmond homered for the second straight game, and Denard Span and Steve Lombardozzi added a double and a single apiece for Washington.
Zimmermann (10-3) allowed an unearned run on six hits. He retired 16 straight in one stretch, throwing 112 pitches — 85 for strikes — while fanning nine and walking one.
Oswalt (0-1) went five innings in his Colorado debut, allowing four runs on nine hits. He struck out 11 and didn't walk a batter.
The Rockies have lost four straight and fell to .500 for the first time since April 2.
METS 4, BRAVES 3
ATLANTA (AP) — David Wright hit two solo homers, New York's bullpen pitched five-plus scoreless innings to overcome an injury to starting pitcher Jonathon Niese in a victory over Atlanta.
Niese left the game in the fourth with left shoulder discomfort and the Mets trailing 3-2, but the Mets' bullpen shut down Atlanta for the next 5 2-3 innings.
Closer Bobby Parnell earned his 11th save in 14 chances by facing the minimum in the ninth.
LaTroy Hawkins (2-0) earned the victory after allowing two hits and striking out two in two innings.
The Mets have won four of six, thanks in part to a bullpen that's 1-0 with a 1.55 ERA over the last nine games.
Mike Minor (8-3) allowed nine hits, four runs and two walks in six-plus innings for Atlanta.
PADRES 6, DODGERS 3
SAN DIEGO (AP) — Pedro Ciriaco tripled in the go-ahead run in the seventh inning and hit a two-run homer in the eighth to lead San Diego past Los Angeles in the Dodgers' 's first visit to Petco Park since the teams brawled on April 11.
The Padres, who had three terrific defensive plays, won for the eighth time in 10 games and popped above .500 for the second time this season.
Dodgers rookie Yasiel Puig homered on his first swing at Petco Park, giving him six overall and three against the Padres since his big league debut on June 3.
Nick Vincent (2-0) pitched the seventh for the win.
The Dodgers, who've been in last place in the NL West since May 6, have lost eight of 11.
MARLINS 2, GIANTS 1
SAN FRANCISCO (AP) — Pinch-hitter Marcell Ozuna's two-run single gave Tom Koehler his first victory in nine career starts, and Miami rallied past San Francisco.
Ozuna's line drive to right field in the eighth inning off reliever Jeremy Affeldt (1-3) ended Koehler's stretch of futility. After six appearances in the bullpen, Koehler (1-5) had been winless in seven starts this season — and took the loss in his lone start last year — for the worst team in the majors.
Giants starter Chad Gaudin tossed 4 1-3 scoreless innings but left the game after taking a hard line drive off his right throwing elbow. The team said he had a bruised elbow.
Joaquin Arias' RBI triple put San Francisco up 1-0 in the seventh.
CARDINALS 6, CUBS 1
ST. LOUIS (AP) — Lance Lynn earned his 10th victory to tie for the NL lead and Matt Holliday homered and drove in two runs in St. Louis' victory over Chicago.
Lynn (10-1) allowed a run on three hits in six innings with six strikeouts and has reached double digits in wins before the All-Star break both of his years in the rotation, going 11-4 last year and making the All-Star team. He joined teammate Adam Wainwright and Washington's Jordan Zimmermann for the league lead.
Welington Castillo homered leading off the third for the Cubs.
Castillo's second homer of the season and first since April 8 briefly tied it at 1 after David Freese's run-scoring groundout off Scott Feldman (6-6) had given the Cardinals the lead.
PIRATES 5, REDS 3
CINCINNATI (AP) — Pedro Alvarez hit a solo homer, bases-loaded double and single to drive in all of Pittsburgh's runs in a victory over Cincinnati and a split of their NL Central showdown.
The Pirates remain a half-game behind second-place Cincinnati after the four-game set.
Alvarez had an RBI single and his 16th homer off Homer Bailey. After Alfredo Simon (5-3) loaded the bases in the seventh, Alvarez doubled off left-hander Tony Cingrani to snap a 2-all tie.
The five RBIs were a season high for a Pirate and one shy of Alvarez's career high.
Bryan Morris (4-2) contributed to the go-ahead rally with his first career single. He also pitched two innings, allowing one run.