St. Louis secured its fourth consecutive postseason appearance when Milwaukee lost to Pittsburgh earlier in the day. But the Cardinals' lead in the NL Central was sliced to 2 1/2 games over the Pirates.
Bruce hit two of Cincinnati's four homers as the Reds snapped a six-game losing streak. Todd Frazier and Devin Mesoraco also went deep.
Reds right-hander Alfredo Simon (15-10) allowed two runs and seven hits in six innings. He was working on a 17-inning scoreless string before St. Louis scored in the fifth.