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.
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.
Bruce hit a solo shot in the fourth and another in the eighth. He also had an RBI single in the sixth that gave Cincinnati a 3-1 lead.
Yadier Molina and Randal Grichuk hit consecutive RBI doubles in the St. Louis sixth, but the Reds responded with four runs in the eighth. Mesoraco had the big blow, a three-run drive against Sam Tuivailala that made it 6-2.
The Reds hit four homers in a game for the third time this season.
Lance Lynn (15-10) gave up three runs and four hits in six innings for St. Louis. He also struck out nine to run his season total to 181, making him the first St. Louis pitcher to fan 175 or more in three successive years since Bob Gibson (1970-1972).
The Cardinals have won seven of nine and close the regular season on the road with three-game sets in Chicago and Arizona.
Reds: Mesoraco returned the lineup after leaving Saturday's game in the fifth inning with the flu.
Reds: Cincinnati will close out the season with a six-game homestand beginning Tuesday against Milwaukee. RHP Johnny Cueto (18-9, 2.33 ERA) will face RHP Mike Fiers (6-3, 1.78 ERA) in the opener. Cueto, who will also start on Sunday, is looking to become the first Cincinnati pitcher to win 20 games since Danny Jackson went 23-8 in 1988.
Cardinals: St. Louis will face the Cubs in the first game of a three-game set on Tuesday in Chicago. RHP Adam Wainwright (19-9, 2.45 ERA) will take on LHP Travis Wood (8-12, 4.86 ERA). Wainwright has thrown two complete games in winning his last four starts.
THEY KEEP COMING
A crowd of 45,747 gave the Cardinals their 52nd sellout of the season. They averaged 43,712 during the regular season and totaled 3,540,649, the second-highest total in franchise history behind the 2007 campaign.
Link to box score: Cincinnati (72-84) 7 at St. Louis (87-69) 2
Join the pre-game, in-game and post-game discussion about each contest at The Cardinal Nation message board.