Harang (3-2) gave up 10 hits in 4 2/3 innings, and his ERA rose from a major league-low 0.85 to 2.97. The Marlins tied a season high with 15 hits, including seven for extra bases.
"They were all hitting like Ted Williams tonight," Harang said.
Miami scored only one run against the veteran right-hander in a loss a week earlier in Atlanta.
"When he did give us a pitch to do something with, we did a much better job of not missing it tonight," said Casey McGehee, who had three hits. "Against him in Atlanta, a lot of the pitches we had to hit we fouled off or missed or took. Tonight we took advantage of our opportunities."
Ozuna hit a three-run homer, and Yelich added his first home run of the year. The homers were the first allowed by Harang this year.
"Seven days ago to now, it's a totally different team," Harang said. "I had them totally baffled at home. They were comfortable today."
Adeiny Hechavarria legged out a double and a triple for the last-place Marlins, who have outscored the NL East leaders 18-3 in the first two games of their series.
The Marlins will sweep a series from Atlanta for the first time since 2009 if they can beat Ervin Santana on Thursday.
Miami's 9-0 lead after five innings was a rare luxury for Nate Eovaldi (2-1), who has the lowest career run support among active major league starters. He allowed only three hits and one run in seven innings to lower his ERA to 2.58.
"You try to get the guys back in the dugout as fast as possible and let them keep hitting," Eovaldi said. "I just attack and stay on them. When we have a big lead, don't be afraid to give up a run or two. Keep pounding the strike zone."
The Marlins are batting .215 on the road, where they're 2-10. But they're batting .307 in their spacious 2-year-old ballpark, where they're 11-4 to lead the majors in home victories.
"I love it. Keep it coming," manager Mike Redmond said. "Maybe we're starting to see a little change here at home where we're starting to get comfortable in this ballpark. They're starting to hit to this ballpark. It's not about swinging for the fences, because you can't play like that here."
The Braves totaled six hits, including Justin Upton's eighth homer. They've totaled five hits in the past two games against Eovaldi and Jose Fernandez.
"We're big league hitters. We should be able to put some hits up against those guys," Chris Johnson said. "They're really, really good, but at some point, with them being in our division, we've got to be able to figure them out. We've got to put some runs on the board. There's no excuse for it."
Harang had allowed a total of three runs in his first five starts, but the Marlins scored four against him with four consecutive hits to start the second inning. Garrett Jones singled home the first run, and Ozuna followed with his fourth homer.
Hechavarria tripled and Yelich hit a two-run homer in the fourth to make it 7-0.
The nine runs allowed by Harang matched his career high. He fell to 5-5 in 15 starts against the Marlins with an ERA of 6.54.
Eovaldi allowed a double by Jason Heyward to start the game, then held the Braves hitless until the sixth.
Braves RHP Gavin Floyd is ready to come off the disabled list after recovering from elbow surgery a year ago, but manager Fredi Gonzalez was noncommittal regarding how he will be used. Floyd isn't scheduled to start this week. ... Marlins INF Rafael Furcal (hamstring) took grounders before the game and is scheduled to resume his rehabilitation assignment this weekend with Triple-A New Orleans. ... Miami RHP Jose Fernandez estimated that in his victory Tuesday he threw 30 changeups, twice his previous high. ... Santana (3-0, 1.95 ERA) starts Thursday for the Braves against Miami's Henderson Alvarez (1-2, 2.73).