Cardinals second baseman Aaron Miles missed a ground ball that should have led to a double-play to finish the first inning, but instead allowed one run to score, and Jonny Gomes later hit a two-run double to open a 3-0 lead.
"I think it just came up on him, the ball took a funny hop or something," Cardinals starter Adam Wainwright said.
"But I should have gotten out of that inning with one run. I made a good pitch on Hernandez and they scored a run, and that should have been the end of it. I just didn't make a pitch to Gomes."
The win extends the Reds' lead in the National League Central to eight games over the Cardinals.
"It's a huge win," Reds manager Dusty Baker said. "You didn't want to go into Sunday, facing Carpenter, down 0-2 in the series and lose another game in the standings. Young Woody pitched a heck of ball game."
Reds starter Travis Wood held the Cardinals to just one run through seven innings on five hits while striking out three. He also hit a solo home run in the fourth inning, his first in the Major League, to extend the Reds' lead to 5-1.
Wainwright, attempting to win his 18th game of the season, allowed five runs, including two earned, in five innings and lost a career-high fourth consecutive start.
"I don't like losing one game, much less four in a row," Wainwright said. "I won't lose again."
Joey Votto drove in his league-leading 98th RBI with a single in the ninth inning to complete the scoring for Cincinnati.
(Writing by Mike Mouat in Windsor, Ontario; Editing by Ian Ransom)