A crowd of 42,177 at Turner Field watched the scoreless tie end in an unusual fashion.
Steve Cishek closed out the ninth inning, striking out Paul Janish looking, while stranding the potential tying run at first.
For the Marlins, it was their first win since Jose Fernandez went eight innings in a 10-0 rout of the Indians Aug. 2. Atlanta's 14-game streak is the longest single-season run since the A's won 20 straight in 2002.
"It doesn't matter how," Miami manager Mike Redmond said. "It's good to hear the music here in the clubhouse after the game today. We've played some tough ones on this road trip. Today was another well-pitched game by Eovaldi.
"These guys are red-hot. I knew we would need another great pitching performance, and we got that. He was outstanding. We were fortunate enough to get a big hit by Hech at the perfect time. We scored on a wild pitch. That's Fish style, right there."
The Marlins snapped their scoreless-inning streak at 22 when Hechavarria scored on Jordan Walden's wild pitch. Walden's 1-2 slider in the dirt dribbled away from catcher Evan Gattis with Ed Lucas at the plate.
Each team manufactured just three hits, and it was Hechavarria's triple that proved the most significant of the night.
"I got ready for the fastball," Hechavarria said in Spanish through a translator. "As soon as I hit it, I knew I had to get to third base."
The 24-year-old shortstop is typically quiet, but before the game, he made a bold prediction to his teammates.
"When we got here, some of the guys were talking about how good this [Braves] team was playing," Hechavarria said. "I said that streak will come to an end."
The Marlins last won a 1-0 game on May 26, 2011, at San Francisco.
In relief, Mike Dunn was credited with the win on a night Eovaldi stole the show.
Remarkably, the hard-throwing right-hander has gone five straight starts without receiving at least one run of support while he was in the game. Eovaldi was dominating, with his fastball reaching as high as 99 mph.
He allowed one first-inning single to Freddie Freeman, and matched his career best with eight strikeouts over seven shutout innings. Eovaldi previously reached eight strikeouts also at Atlanta, on Sept. 25, 2012.
Braves lefty Alex Wood, making his fifth big league start, kept the Marlins off the board for six innings, striking out seven. He allowed just two singles and walked one.
Both starters were in complete command.
Wood had a stretch of retiring 12 straight before Jeff Mathis' single to right in the fifth inning. Eovaldi was even more impressive, setting down his final 14 in a row after walking Jason Heyward to open the third. After the free pass, Eovaldi's next pitch got Justin Upton to bounce into a 4-6-3 double play.
One inning was played before rain quickly doused the field, prompting a delay that lasted 54 minutes.
"I felt like the rain delay was good for me," Eovaldi said. "I felt I was fighting myself the first inning and in the bullpen. After the rain delay, I felt a lot more composed. I felt I was driving the ball a lot better. I felt my slider was a lot better today than it has been in the past."
It was a pretty interesting first inning, even though neither team scored. Christian Yelich singled to open the game, extending the rookie's hitting streak to 10 games.
In the Braves' half of the frame, Freeman singled with two outs and Gattis walked. Eovaldi escaped further damage by striking out Chris Johnson. Not pleased with home-plate umpire Jim Joyce's call, Johnson tossed his bat and helmet, and he drew an immediate ejection.
Johnson was still arguing as the rain began to fall.
Janish replaced Johnson, and provided a spectacular diving stop to rob Placido Polanco of a two-out single in the fourth inning.
As the game shaped up, it was Johnson's spot in the order that came up with two outs and Gattis on first in the ninth. Instead of the National League's leading batter at the plate, Cishek fanned Janish looking.
Eovaldi admitted a couple of the called strikes to Johnson were borderline.
"It's hard, the guy who's leading the league in hitting to get thrown out of the game, but you can't control your temper sometimes," Braves manager Fredi Gonzalez said. "It's competitiveness, and he's been probably the No. 1 competitive guy we have on our club. Right there and then, he thought that the strikes that were called were balls. You feel good about Janish catching the ball, he made a nice couple of plays defensively, but you'd rather have C.J. getting three or four at-bats there. But that's the way it goes sometimes."