Their offense has been the Braves’ primary weakness for the early part of the season, but it was shaky pitching and defense that threatened to do them in Friday night when they blew two leads against the Nationals.

Fortunately for the Braves, Justin Upton’s bat has heated up quickly. Upton’s third home run in two nights was a tying solo shot to straightaway center in the eighth inning, and the Braves pulled out a 7-6 win in the 10th inning on Upton’s two-out RBI single to shallow right field, which scored Jordan Schafer from first base.

Schafer, the fastest player on the team, pinch-ran for Chris Johnson after a two-out single, the third hit for Johnson.

“I’ve seen Schafe run before, so I was hoping he would (try to score),” Upton said. “I knew he had a chance if that ball got down and got away from him a little bit. That’s why we put the speed at first base, and he made a good play for us.”

Upton’s single bounced off the glove of right fielder Bryce Harper, who perhaps was rushed after seeing Schafer wasn’t stopping at third. Schafer was being waved home all the way, and the scorekeeper didn’t charge Harper with an error.

“He was running on the pitch and scored on a ball that was just 120 feet,” said manager Fredi Gonzalez, whose Braves snapped the Nationals’ four-game winning streak and pulled within one game of the National League East leaders with their third win in four games against Washington this season.

“And (third-base coach Doug Dascenzo) did a terrific job at third base, keeping him coming. I would have liked to see if Harper picks that ball up clean what kind of play at the plate – but it was a strange enough night without trying to get that one also,” Gonzalez said.

It was a wild game that featured multiple potential replay-review situations – only one went through the entire process — a three-run homer for each team, a collision on the bases, an umpire hit with a batted ball, and three Braves hit by pitches.

After Upton’s homer in the eighth, Craig Kimbrel struck out the side against the heart of the Nationals order in the ninth inning – Jayson Werth, Adam LaRoche and Ryan Zimmerman, all blown away.

“Any time you can keep your team in the ballgame and give your team a chance to win, it feels great,” Upton said of his home run. “These guys pick me up all the time. We pick each other up all the time.”

Luis Avilan worked around a one-out walk and a two-out intentional walk in the 10th by inducing an inning-ending groundout from Denard Span, setting the stage for the walk-off win – the 20th win for the Braves in their past 27 games against the Nationals.

“Yeah it was a weird game and guess what, we got to play these guys (15) more times,” Gonzalez said.

Upton homered off Tyler Clippard, who has been pummeled by the Braves like no other team for two seasons. Since the beginning of the 2013 season, Clippard has a 9.72 ERA with nine runs and four homers allowed in 8-1/3 innings of nine appearances against the Braves, and a 1.81 ERA and six homers allowed in 70 appearances against everyone else.

When Adam LaRoche tried to score from second base on a Jordan Walden wild pitch with two out in the seventh inning and the score 5-5, catcher Evan Gattis scrambled to retrieve the ball near the Natonals dugout and throw out LaRoche on a close play at the plate with Walden covering.

The play was reviewed and the called upheld. During the process, a replay was shown on the enormous hi-definition video board beyond center field, with Walden clearly appearing to make the tag before LaRoche’s foot touched the plate.