Williams suffered his first loss since June 8, when the Reds beat the Cardinals 5-4 on Friday.
The right-hander failed in an attempt to give the Cardinals five 10-game winners for the first time since 2000. He struck out 11, one off his career best, but gave up five runs on nine hits in six innings.
“This is my loss, not the team’s,” Williams said. “I take full responsibility. I don’t want strikeouts, I really don’t.”
The Cardinals had won the last 11 games started by Williams, who went 6-0 over the stretch.
On Tuesday, St. Louis had its four-game winning streak snapped as the Reds won the middle game of the set 4-3 in 10 innings.
Tavarez would have begun his suspension Tuesday night if he had not appealed.
“Games like this can go either way,” Tavarez said. “Today’s game didn’t go the way we wanted it, the way I wanted it. Tomorrow’s another day. We’ll still be in first place.”
Cardinals starter Jason Marquis, who has won nine straight decisions since May 31, allowed three runs, five hits and five walks in seven innings. Reds starter Josh Hancock gave up two runs—a pair of solo homers—and eight hits in six innings.
Reds reliever Joe Valentine pitched 1 1-3 innings for his first major league win.
It was only the fourth time the Reds have beaten St. Louis in 17 games.
“That was a nice win,” Bragg said. “The pitchers went out and did a great job keeping us in the game. It was just my night to be the hero.”