Andrelton Simmons started the scoring for the Braves with a two-out RBI-single in the second, and Heyward's solo shot off Cardinals starter Shelby Miller gave the Braves a two-run lead.
Medlen gave up that lead when Miller hit an RBI-double in the fifth combined with Carlos Beltran's bloop RBI-single that fell in between Simmons and Evan Gattis.
But Medlen was given back his win when Joey Terdoslavich produced a go-ahead single in a two-run sixth. It was Terdo's first career RBI.
After giving up 14 earned runs over his last three starts, Medlen gave up just two runs over his six innings of work, earning his first win since July 3.
Craig Kimbrel's ninth inning effort gave him 31 saves on the year, giving him sole possession of the National League lead.
Chris Johnson's three-hit performance propelled him to a .338 average, also giving him the National League lead over Yadier Molina. He only trails Miguel Cabrera's .360 average for the Major League-lead.
The Cardinals entered the series leading in runs, batting average, hitting with runners in scoring position and on-base percentage, but the Braves pitching staff held them to a combined three runs over the weekend.
The sweep gives the Braves an 8 1/2-game lead over the Washington Nationals in the National League East.
Andrelton Simmons, Atlanta, Atlanta Braves, Baseball, Carlos Beltran, Chris Johnson, Craig Kimbrel, Jason Heyward, Joey Terdoslavich, Kris Medlen, MLB, St. Louis Cardinals