AP photo by Ben Margot / Atlanta Braves starter Ian Anderson pitches during Friday night's home game against the Miami Marlins.

ATLANTA — Jorge Soler had a two-run single during his team's five-run fifth inning, and Ian Anderson tied a career high with nine strikeouts as the Atlanta Braves beat the Miami Marlins 6-2 on Friday night.

The comeback victory was the Braves' 35th this season and their second in two nights. They began the game two off the National League lead shared by the Cincinnati Reds and San Francisco Giants in that category.

Atlanta, which has won four of its past five games since a 3-8 stretch, padded its lead to 4 1/2 games over the second-place Philadelphia Phillies in the NL East Division, where the Braves are seeking a fourth straight title. Miami, 16 1/2 games back in the East, had won four of six entering Friday.

Marlins starter Trevor Rogers allowed a two-out double to Freddie Freeman in the first inning before retiring the next 11 batters he faced. Travis d'Arnaud got the next hit, a double into right field with one out in the fifth, and Rogers walked Orlando Arcia and hit Guillermo Heredia with a pitch. Pinch-hitter Ehire Adrianza followed with a single that chased Rogers and trimmed the lead to 2-1.

One out later, Soler singled past shortstop Miguel Rojas to score Arcia and Heredia. Adrianza scored on the play, too, as center fielder Bryan De La Cruz made a fielding error that gave the Braves a 4-2 lead. With Soler on second, Freeman hit an infield single that third baseman Isan Diaz fielded and threw errantly to first, scoring Soler to make it 5-2.

"Jorge had a huge hit in the inning," Atlanta manager Brian Snitker said. "That was a nice ballgame. That's a dangerous team. They're young, talented, and that kid tonight (Rogers), he's going to be something else. He already is, but that's a dangerous team. Those guys are talented there."

Arcia's RBI single in the eighth provided the final margin.

Atlanta closer Will Smith faced the minimum in the ninth for his 32nd save in 37 chances this year.

Rogers (7-7) allowed four runs and three hits with one walk and six strikeouts in 4 1/3 innings. The left-hander entered winless with a 6.23 ERA in three career starts against Atlanta. It marked the first time since his last start of 2020 that Rogers, a 23-year-old All-Star, allowed more than three runs to snap his franchise-best, 22-game streak of allowing three or fewer runs.

Jesús Sánchez hit a two-run homer in the first to give the Marlins a 2-0 lead.

Anderson (7-5) scuffled in the third, committing a fielding error that allowed Jazz Chisholm Jr. to reach and then issuing consecutive two-out walks to Sánchez and Jorge Alfaro. He escaped the jam when Lewin Diaz popped up.

Anderson had his strikeout stuff back after failing to punch out a batter in his previous two starts.

"Yeah, I think the execution was a lot better," Anderson said. "I think the stuff was a lot better and overall, the mindset and the way we went about it was a lot crisper. It makes a lot more fun when you're executing."

Miami got off to a good start in the fourth when Chisholm singled and advanced to third on De La Cruz's single, but Anderson struck out Sánchez and Alfaro to end the threat.

"We got the two (runs) early, we weren't able to tack on, and the fifth just got away from us," Marlins manager Don Mattingly said. "That ended up being the ballgame."

Anderson, who beat the Marlins for the first time in five career starts, allowed two runs and five hits with two walks in five innings.

The Braves have won six of their past seven against Miami.

Before the game, Atlanta placed catcher Stephen Vogt on the 10-day injured list with right hip inflammation. Vogt was hurt in Thursday's win over the Washington Nationals and had to leave the game. Catcher William Contreras was recalled from Triple-A Gwinnett to take Vogt's spot on the roster.

Braves shortstop Dansby Swanson got the night off after playing every game the past two seasons.