ATLANTA — Nathan Eovaldi had dominated the Atlanta Braves in his last seven starts against them.
That was hardly the case this time as Freddie Freeman broke a 2 for 44 season slump against the Marlins with a three-run homer that sent Miami to a 6-1 loss Wednesday night.
"He's always a threat up there regardless of how he's been swinging," Eovaldi said. "He's got the power and he just went down there and hit a good pitch. But after that I was able to establish the fastball down and away and start working to my advantage."
Ervin Santana won his second straight start for the Braves, who pulled within one game of first-place Washington in the NL East.
Fourth-place Miami, which snapped a three-game winning streak, is 8½ games back.
Freeman, an All-Star first baseman, hit his 14th homer to give the Braves a 5-0 lead in the four-run second inning.
Santana (9-6) won for third time in four starts, giving up six hits and one run with three walks and 10 strikeouts in 7 1-3 innings.
"We just weren't able to make an adjustment on Santana's off-speed pitches," Miami manager Mike Redmond said. "He threw a lot of sliders and changeups and kept us off balance the rest of the night."
Santana registered double-digit strikeouts for the second time this year and the 13th time in his 10-year career when pinch-hitter Jordany Valdespin whiffed to begin the eighth.
But Santana walked Christian Yelich and gave up a single to Donovan Solano, leading manager Fredi Gonzalez to bring in Jordan Walden, who struck out Giancarlo Stanton and Casey McGehee to end the threat.
Eovaldi (5-6) failed to win for his fifth straight start after allowing six hits, five runs and two walks in seven innings. He struck out two.
Eovaldi began the night with a 4-0 record and a 2.21 ERA in eight starts against the NL East this year and was 2-0 with a 0.90 ERA in his last seven starts against Atlanta.
"It's great the he kept us in there, kept us from having to use a bunch of bullpen guys," Redmond said. "But I think where we are right now for him is for him to win games at the big-league level he's got to eliminate those big numbers in an inning."
The Braves took a 1-0 lead in the first on Justin Upton's sacrifice fly RBI.
In the second, Atlanta went up 5-0 on Tommy La Stella's RBI single and Freeman's homer.
Miami made it 5-1 in the third on Christian Yelich's RBI single.
In the Braves' eighth, Jason Heyward singled against Sam Dyson, stole second base and took third on catcher Jarrod Saltalamacchia's throwing error.
Heyward then broke for home on Chris Johnson's grounder to shortstop Adeiny Hechavarria, who threw to Saltalamacchia to get Heyward in a run-down.
Third baseman McGehee, however, missed tagging Heyward, who was called safe by third base umpire Alan Porter as he dove back to the bag.
Marlins manager Mike Redmond did not ask for the play to be reviewed, but he was ejected after arguing with Porter.
"I just thought he (Heyward) was out of the baseline," Redmond said. "Maybe I was more frustrated that we didn't get the out in that situation than anything."
Heyward scored when the next batter, Gerald Laird, singled to make it 6-1.
Notes: Yelich went 2 for 3 and has a 17-game hitting streak on the road and his hitting .411 in his last 73 at-bats away from Miami. ... Heyward went 2 for 4 to boost his average five points to .409 in 61 at-bats against Miami since last Aug. 3. ... The Marlins dropped to 64-112 at Atlanta, including a 15-27 mark since the start of 2010. ... RHP Anthony Varvaro was placed on the paternity leave list as the Braves recalled RHP Gus Schlosser from Triple-A Gwinnett. ... Atlanta LHP Chasen Shreve pitched the ninth for Atlanta and faced five batters.