Making his ninth career start, Wacha came about as close as possible to finishing off the third no-hitter in the majors this season. Instead, he became the third pitcher to have a bid broken up with one out to go.
Zimmerman hit a chopper just over Wacha's glove — the pitcher said he thought it nicked his mitt — and the ball bounced slowly toward shortstop. A charging Pete Kozma grabbed it with his bare hand and whipped a throw to first that was a little wide, pulling Matt Adams off the bag just as Zimmerman arrived.
The crowd at Busch Stadium let out a loud, collective groan. Third baseman David Freese sat crouched in the infield, stunned at how close his 22-year-old teammate had come.
Wacha (4-1) was pulled after Zimmerman's hit and walked off to a huge ovation. Trevor Rosenthal got Jayson Werth to ground out for his second save.
Washington left-hander Gio Gonzalez (11-8) pitched seven effective innings, allowing two runs and six hits.
PIRATES 8, CUBS 2
CHICAGO (AP) — Gerrit Cole threw six strong innings, helping Pittsburgh take over the NL wild-card lead.
The Pirates moved one game ahead of Cincinnati, which lost 4-2 to the Mets. Pittsburgh remained two games behind NL Central-leading St. Louis.
One night after clinching their first post-season spot in 21 years, Cole and the Pirates showed few signs of a letdown. Cole hit a two-run single, Pedro Alvarez drove in three runs and Jordy Mercer homered.
Cole (10-7) won his fourth straight start, giving up two runs and seven hits.
Cole's single came during a three-run second inning against Chris Rusin (2-6).
METS 4, REDS 2
CINCINNATI (AP) — Daniel Murphy hit a three-run homer off Mike Leake, whose long streak of scoreless innings got shattered early, and the Mets dealt the Reds a costly setback to their hopes of a second straight NL Central title.
The Reds and Pirates clinched playoff spots on Monday night, but hope to chase down first-place St. Louis with closing surges. Leake's one very bad inning made that much less likely for Cincinnati.
Leake (14-7) gave up four runs and eight hits in only 1 2-3 innings, matching the shortest start of his career. Wilfredo Tovar ended his scoreless innings streak at 21 2-3 with an RBI single, and Murphy's homer gave left-hander Jon Niese (8-8) the big lead.
Niese allowed two runs and eight hits in seven innings. Vic Black faced three batters in the ninth, getting his first career save on his second try.
BRAVES 3, BREWERS 2
ATLANTA (AP) — Andrelton Simmons hit a game-ending RBI single with two out in the ninth, lifting the Braves to the victory.
Justin Upton sparked the winning rally with a leadoff single against Donovan Hand (0-5). Upton advanced on Evan Gattis' one-out grounder that Scooter Gennett bobbled behind second base for an infield hit. After Brian McCann popped out, Simmons' first hit of the night ended the game.
Craig Kimbrel (4-3), who leads the majors with 49 saves, struck out the side in the ninth.
Jeff Bianchi hit his first homer of the season in the fifth for Milwaukee.
PHILLIES 2, MARLINS 1
MIAMI (AP) — Darin Ruf and Kevin Frandsen each drove in a run in the first inning, and the Phillies handed the Marlins their 100th loss of the season.
It's the second triple-digit-loss season in Marlins history, joining the 108-defeat year in 1998. Mike Redmond, the first-year Marlins manager, was a rookie on that team, playing in 37 games.
Ruf drew a bases-loaded walk, Frandsen followed with an RBI groundout and that was all the offence that the Phillies would need. Michael Stutes (3-1) got the win by working a scoreless fifth inning in relief, and Jonathan Papelbon pitched the ninth for his 29th save in 36 chances.
Marlins starter Henderson Alvarez (4-6) allowed five hits and struck out five in seven innings. Justin Ruggiano had two hits for Miami, one of them an RBI double where he was thrown out at third.
DIAMONDBACKS 2, PADRES 1, 12 innings
SAN DIEGO (AP) — Didi Gregorius tripled home the tiebreaking run in the 12th inning to lift the Diamondbacks over the Padres.
Paul Goldschmidt hit his NL-best 36th homer for the Diamondbacks, extending his hitting streak to 14 games and increasing his league-leading RBI total to 124.
Gregorius tripled down the right-field line against Luke Gregerson (6-8) to score fellow rookie Chris Owings, who doubled with one out.
Josh Collmenter (5-4) pitched a perfect inning and Brad Ziegler got three outs for his 12th save.
The Diamondbacks set a major league record for most extra innings played in a season with 79. Arizona, which is 17-7 in extra-inning games, broke the record of 76 set by the 1969 Minnesota Twins.
DODGERS 2, GIANTS 1
SAN FRANCISCO (AP) — Hyun-Jin Ryu and two relievers combined on a five-hitter that sent the Dodgers past the Giants.
Matt Kemp hit a tiebreaking home run leading off the sixth inning for the Dodgers. Yasiel Puig also homered after getting hit by a pitch from Giants starter Matt Cain earlier in the game.
Carl Crawford added three hits for the NL West champions, who have won three straight.
Tony Abreu homered for San Francisco. The Giants got just one runner past first base and were held to no more than one run for the third time in four games.
ROCKIES 8, RED SOX 3
DENVER (AP) — Charlie Blackmon hit his first career leadoff homer and Tyler Chatwood pitched seven strong innings, leading Colorado to the victory.
John Lackey (10-13) struggled on the road again, allowing four runs and six hits in six innings. The right-hander is 1-5 away from Fenway Park since the All-Star break.
Lackey also gave up solo homers to Troy Tulowitzki and Corey Dickerson.
Chatwood (8-5) shut down a potent Red Sox lineup, yielding an unearned run and three hits.
Jarrod Saltalamacchia hit a two-run homer in the ninth for AL East champion Boston.