The Braves clubbed three home runs Wednesday night to back Mike Foltynewicz in an 8-3 win over Tommy Milone and the Nationals.
Atlanta (62-49) has won eight of 10 to move within a half-game of first-place Philadelphia in the NL East. Washington fell six games back.
"They've kind of been resilient," manager Brian Snitker said of Atlanta. "They've done a good job of staying in the present."
Washington had a chance to break the game open in the first but managed only one run after the first three batters reached.
"I was just trying to battle. I knew if I could limit the damage to even two runs there our offense would get some runs back," Foltynewicz said. "Just to get out of that inning with one run was huge."
Washington (58-56) pounded out 10 hits but left 10 runners on base in its second straight loss.
"We got 10 hits, but we couldn't get that big hit. Just a rough day," said Washington manager Dave Martinez. "We've got to come back tomorrow fired up. We've got Gio (Gonzalez) going. Hopefully he keeps us in the game and score some runs. We're swinging the bats well, we've just got to score some runs."
Bryce Harper hit his 28th homer for Washington. Rookie Juan Soto was ejected by home plate umpire Greg Gibson in the sixth inning for mentioning a called strike three from his previous at-bat.
"That pitch before was a ball," Soto said he told Gibson. "Make sure he can understand and be better. Help him help us."
The Washington outfielder said it was the first time he's ever been ejected from a game.
Atlanta right-hander Anibal Sanchez (6-3, 2.89 ERA) opposes left-hander Gonzalez (6-8, 4.04) in Thursday's finale.
Last time out, Sanchez gave up a run on two hits in a win against the New York Mets while striking out nine and walking two to outduel Jacob deGrom.
"For me, I tried to prepare a really good game," Sanchez told MLB.com. "I didn't want to make any mistakes. I knew for sure it was going to be a close game."
Sanchez is 10-1 with a 2.11 ERA in 25 games -- 24 starts -- against the Nationals. His ERA is the fourth-best for any major league pitcher against a single opponent since 2006. He beat them with seven innings of two-run baseball on June 3.
Gonzalez last won on May 28. He is 0-6 in his 11 starts since then and the Nationals are 3-8. In his previous start, Gonzalez gave up six runs -- five earned -- on 10 hits in 3 2/3 innings of a home loss to the Cincinnati Reds. That performance came after he had turned in a solid seven-inning, one-run effort on July 28 at Miami.
"Right now, I'm just trying to battle through whatever I'm going through and hopefully start catching my breaks and the tide will change," he told MLB.com. "For me, it's hit or miss right now. It's just damned if you do, damned if you don't."
Gonzalez is 5-11 with a 5.04 ERA in 22 games against the Braves.