Desperate for more offense, Braves manager Fredi Gonzalez batted pitcher Aaron Harang eighth and put second baseman Ramiro Pena in the ninth spot.
Pena had two hits, including a seventh-inning homer that brought the Braves within a run, but they couldn’t overcome a 4-0 deficit.
The last time the Braves had such a lengthy losing streak was May 21-28, 2012, when they dropped eight in a row. Their longest skid last season four in a row.
Taking advantage of shaky defense, Carpenter doubled in two runs and Matt Holiday followed with a run-scoring single. Peter Bourjos had an RBI single in the sixth.
Shelby Miller (4-2) got the win and Trevor Rosenthal earned his ninth save. Harang (3-3) took the loss.
The Braves put a runner at second with one out in the ninth against Rosenthal, but he retired Pena on a fly to right and Justin Upton on a called third strike to the game.
Atlanta’s woes with runners in scoring position continued. The Braves were 1 for 12 and are 6 of 51 in those situations since their last win.
The game was scoreless until the fifth, when Atlanta shortstop Andrelton Simmons botched two straight grounders to set up the Cardinals for a big inning. Both plays were initially ruled hits, though the scoring on the second play – when Simmons appeared to take his eye off the ball trying to make a force at second – was changed to an error.
After Miller bunted the runners to second and third, Carpenter doubled to center to bring them both in. Holiday hit a liner past third baseman Chris Johnson to make it 3-0.
St. Louis added another run in the fifth on Bourjos’ hit, but Gonzalez challenged a call at third base that had seemingly given the Cardinals a 5-0 lead.
Yadier Molina’s bases-loaded grounder ricocheted off Harang’s leg, right to Johnson at third. He caught it and blindly stepped back in search of the bag and managed to barely nick it, as the replay showed. The called was quickly overturned after a review of only 37 seconds.
The Braves knocked out Miller in the bottom half of the sixth, the first three hitters reaching safely. The Cardinals went to the bullpen after Evan Gattis’ RBI single, and B.J. Upton followed with a sacrifice fly off Pat Neshek.
But Neshek escaped the jam by striking out Simmons.