St. Louis improved to 6-1 since the All-Star break and pushed its home record to an MLB-best 35-12. Meanwhile, the Braves have lost their last six road games.
Grichuk hit a two-run homer in the second inning for the second night in row. His 11th of the season came off rookie Manny Banuelos (1-2), who gave up six hits and four earned runs in five-plus innings.
Cooney (1-0) gave up five hits and two earned runs in an efficient 74-pitch stint. He struck out five and did not walk a batter.
Kevin Siegrist retired the Braves in the ninth for his fifth save. He struck out Jonny Gomes with two on to end the game.