Werth kept up his power surge with a home run and two doubles, leading the charging Nationals past the New York Mets 6-3 on Tuesday night for their fourth straight win.
The Nationals have won six of seven, and have 18 games left this season. They closed within six games of Cincinnati for the final NL wild-card spot.
"We kind of waited around too long," Werth said.
A year after the Nationals topped the majors with 98 wins, they went into spring training with World Series hopes. Werth said he thought Washington might come out flat this season, but "I didn't expect it to go on as long as it did."
"We're good," he said. "It's not over. We're in a bad spot, that's for sure."
"We basically have to win out," Nationals manager Davey Johnson said.
Adam LaRoche and pinch-hitter Scott Hairston also homered and Denard Span extended his hitting streak to 21 games. Catcher Wilson Ramos threw out two runners who tried to steal second and lined an RBI single.
Werth has gone 10 for 18 during Washington's winning streak with two homers and five doubles. He's scored five runs and driven in five while raising his batting average to .328.
Werth homered in consecutive games for the fourth time this season. Before this year, he had done it only twice since joining the Nats in 2011.
Zimmermann (17-8) topped the Mets for the first time in five starts this season. He gave up three runs and eight hits in five-plus innings.
"I didn't have very good command of any pitches," he said. "I lost everything."
Relievers Craig Stammen, Drew Storen, Tyler Clippard and Soriano combined for four scoreless innings. Soriano reached 40 saves for his third team, having done it with Tampa Bay and the New York Yankees.
Werth hit his 23rd homer in the first and LaRoche led off the second with his 19th. Both homers sailed into the Party City Deck above the wall in left-center field, and LaRoche's drive was caught on the fly by a fan wearing a Mets jersey.
Before the game, perhaps aware Washington launched five homers the previous night, about 100 fans perched on the deck railing as the Nationals took batting practice. Many of them wound up with souvenirs -- so did a Washington player, who retrieved a hat that tumbled from the stands, playfully put it on and then tossed it back into the seats.
"These guys are hitting them out of here like this is a bandbox, and we know it's not. When you can hit them that good, you're making pitches in bad spots," Mets manager Terry Collins said.
Washington's eight homers are the most in consecutive games by any team in Citi Field history.
Span and Werth doubled in the third for a 3-0 lead. Werth doubled again in the sixth and scored on a two-out single by Ramos for a 4-1 lead. Hairston hit a two-run homer in the ninth on Tim Byrdak's first pitch.
Matt den Dekker chased Zimmermann with a two-run single in the sixth. Justin Turner doubled and hit an RBI single, but left with tightness in his right hamstring as the Mets lost for the seventh time in nine games.
Dillon Gee (11-10) left in the seventh with the Mets down 4-3. He was trying to beat the Nationals for the fifth time this year -- the only Mets pitchers to defeat an opponent five times in a season are Tom Seaver (Pittsburgh, 1973), Dwight Gooden (Cubs, 1985) and R.A. Dickey (Marlins, 2012).
OF Bryce Harper rejoined the Nationals after being checked in Washington for a sore left hip, and hit some deep drives in batting practice. He sat out, but Johnson said he expects the 20-year-old star can play Wednesday night. He hasn't been in the lineup since being scratched Saturday. "It was nice to be able to get a clear mind," Harper said of the medical checkup. ... Ramos made his 18th straight start, the most by a Nationals catcher since the team started playing in Washington in 2005. Ramos is hitting .419 with 23 RBIs in 26 career games vs. the Mets. ... Mets closer Bobby Parnell had surgery on a herniated disk in his neck. Collins said he didn't have a timetable for Parnell's recovery and didn't yet know whether he'd be ready for spring training.