"That's a real big loss, but you have two choices," Reds manager Dusty Baker said. "You can feel sorry for yourself, or you can figure out a way to get it done. It could've been worse. He'll have an MRI (Wednesday) to determine the severity."
Pinch-hitter Cody Ross hit a home run in the eighth to cut Cincinnati's lead to 5-3, and Jeremy Hermida milked a leadoff walk in the ninth against Francisco Cordero. Hermida advanced to second on a wild pitch but Cordero retired Hanley Ramirez and Jorge Cantu on groundouts and struck out Dan Uggla for his seventh save.
Keppinger, the team's leading hitter, fouled a pitch off his leg in the second and X-rays revealed the injury. The shortstop drew a bases-loaded walk to make it 2-0 and played defense in the third and fourth innings before departing.
"That's huge blow," said Jerry Hairston Jr., who moved from right field to shortstop after Keppinger left the game. "It's a shame. He's worked so hard to make a name for himself. Now we've just got to step up."
Keppinger entered with a .320 batting average and was tied for third in the National League with a .406 average with runners in scoring position. He took over as the starting shortstop when Alex Gonzalez opened the season on the disabled list with a broken left knee.
Reds slugger Ken Griffey Jr. got the day off and remained stuck on 597 career home runs. Griffey has not hit a home run in his past 63 at-bats since connecting against Houston's Chris Sampson on April 23.
Florida has lost two straight after winning seven in a row.
Volquez (6-1) allowed one earned run and a season-high seven hits with two walks. His National League-leading ERA rose from 1.06 to 1.12 and he struck out five to increase his league-best total to 57.
"He's got good stuff, man," said Uggla, who struck out with the bases loaded to end the fifth inning. "I was sitting on a slider, and that's what he threw me, but it was almost impossible to hit. I could've been more patient."
"It was a changeup," Volquez said. "That might have been the best pitch I threw the whole game."
Hairston, Votto and Corey Patterson had two hits apiece. Patterson hit for Keppinger in the fourth inning and stayed in the game in center field with Ryan Freel moving from center to right to replace Hairston.
Votto's eighth home run of the season, an opposite-field solo shot to left in the seventh, gave the Reds a 5-2 lead.
"You've got to tip your hat," Florida manager Fredi Gonzalez said. "That was a hell of a bunt. He just executed it."
"You want small ball, but you want long ball, too," Baker said. "When you get both on the same night, you can score some runs."
Mark Hendrickson, who hadn't walked more than three batters in any of his previous eight starts, walked three in the second inning to help the Reds score twice.
Hendrickson (5-2) allowed four runs and eight hits in five innings. He issued a season-high five walks and struck out one.
"The last two games, I've had trouble finding my rhythm," Hendrickson said. "The hits you can't control, but the walks made it hard on myself. A lot of my problems were self-induced."
Hendrickson, who had won his previoius five decisions, absorbed his first loss since opening day against the New York Mets.
- Reds RHP Bronson Arroyo is scheduled to make his fourth career start on three days' rest Wednesday against Florida. Arroyo is 1-0 with a 3.05 ERA (20 2/3 innings, seven earned runs) and one shutout in his previous three starts on three days' rest.
- Hendrickson had two hits, giving him six this season, two more than his total from his previous five seasons
- Cody Ross' home run was the third pinch-hit homer of his career.