Cosart (3-1) allowed seven hits, struck out five and walked one. The right-hander, who was acquired in acquired in a July 31 trade with Houston, is 3-0 with a sparkling 0.65 ERA in his last four starts.
Donovan Solano hit a solo homer in the first and finished with three hits for Miami, which is 8-7 against Atlanta this year. Giancarlo Stanton had two hits and drove in a run.
Atlanta had won three in a row. Aaron Harang (10-9) yielded four runs, three earned, and seven hits in 5 2/3 innings.
The Braves were one game out in the wild-card race at the start of the day.
Atlanta threatened in the eighth inning, loading the bases with one out. But A.J. Ramos struck out Andrelton Simmons and Mike Dunn retired Freddie Freeman on a groundout to first, preserving Miami’s 4-0 lead.
Steve Cishek then got three outs for the Marlins, completing the nine-hitter.
Cosart has provided a boost for the sagging Marlins since the trade. On Saturday, he induced three double plays to prevent the Braves from putting a rally together.
Leading 4-0 in the sixth, Cosart faced his first serious jam of the night. The Braves put runners on first and second with one out, but Cosart struck out Simmons and got Freeman to ground to second to end the threat.
Stanton singled in Christian Yelich to make it 2-0 in the third, and Yelich scored again on Solano’s base hit in the fifth. Jarrod Saltalamacchia scored the fourth run on a wild pitch in the sixth.
Cosart retired 10 straight after giving up a single to Jason Heyward to lead off the game. Four of those came on strikeouts, with Cosart striking out the side in the second.
Marlins: Reliever Dan Jennings made his fourth minor league appearance on Friday since being diagnosed with a concussion Aug. 8, pitching two scoreless innings. He has pitched seven scoreless innings in four rehab games. ... Reliever Bryan Morris will rejoin the team when it returns to Miami following the series. He has a strained groin but will not be placed on the disabled list.
Braves: Reliever Shae Simmons said before the game he has not started throwing off flat ground. He has been on the disabled list since July 27 with a strained right shoulder. It does not appear he will return this season.
The Braves and Marlins wrap up their three-game set tonight. Braves starter Alex Wood (9-10) has given up just 10 runs in his last six starts for a 2.23 ERA. Nathan Eovaldi (6-9) will take the mound for the Marlins. Eovaldi has faced the Braves four times already this season, limiting them to three runs in 21 innings in his first three starts before being reached for five runs in seven innings in a losing effort July 23.