Markakis went 2-for-3, scored twice and drove in five runs, the most important being his fourth career slam that came off St. Louis starter Luke Weaver (4-7). It was his ninth homer and first since June 5. The right fielder also doubled and added a sacrifice fly in the sixth as the Braves beat the Cardinals for the second straight day.
Atlanta left-hander Max Fried was the beneficiary of Atlanta's 15-hit attack. Fried (1-2) pitched 6 2/3 scoreless innings and allowed four hits and three walks. Fried, who was recalled from Triple-A Gwinnett when Brandon McCarthy was placed on the disabled list, effectively used his curveball and changeup and posted a career-high 11 strikeouts.
Matt Wisler worked 1 2/3 innings and allowed four runs in the ninth, including a solo homer to Jose Martinez, his 13th, that broke up the shutout. Sam Freeman got the final two outs.
Fried also picked up his first career hit to ignite the decisive fifth inning rally. The Braves followed with a single by Ender Inciarte and a ground-rule double by Ozzie Albies. After an intentional walk to Freddie Freeman, Markakis hit the slam on a full count.
Atlanta got things started in the second inning when rookie Ronald Acuna Jr. hit a two-run homer, his sixth, to center field. It was Acuna's second day back from missing 27 games with a knee strain. Acuna went 3-for-5 with two RBI and three runs scored.
Weaver continued to struggle at Busch Stadium. He has yet to win at home in 10 starts and hasn't won there since last Sept. 14. He pitched 4 2/3 innings and allowed eight runs on 10 hits and two walks. He struck out five.
St. Louis center fielder Tommy Pham went 0-for-3 and is hitless in his last 31 at-bats.
Atlanta goes for the sweep on Sunday. The Braves send right-hander Mike Foltynewicz (5-4, 2.14) against Cardinals' right-hander John Gant (2-2, 3.48). Atlanta hasn't swept the Cardinals in a three-game series since Oct. 2015.
--Field Level Media