These 20 players appeared to be roster locks for Opening Day:
Catchers Jason LaRue and Javier Valentin; infielders Rich Aurilia, Edwin Encarnacion, Ryan Freel, Scott Hatteberg, Felipe Lopez and Tony Womack; outfielders Adam Dunn, Ken Griffey Jr., Austin Kearns; starting pitchers Bronson Arroyo, Brandon Claussen, Aaron Harang, Eric Milton and Dave Williams and relievers Chris Hammond, Kent Mercker, David Weathers and Rick White.
That left 10 players competing for the final five spots on the 25-man roster.
"When it gets down to these last few cuts, it gets very, very difficult," Reds manager Jerry Narron said.
Four pitchers -- Matt Belisle, Mike Burns, Todd Coffey and Ryan Wagner are fighting for what's expected to be three bullpen spots. All four have Minor League options left.
In the sixth inning of Wednesday's 7-6 win over the Devil Rays, Belisle gave up a three-run homer to first batter Ty Wigginton but then recorded two quick outs. Coffey later pitched a scoreless ninth and recorded the save despite allowing a hit and a wild pitch.
Narron is expected to carry 12 pitchers.
"I'm still 99 percent sure it will be 12," Narron said. "(Saying) that gives me a tad of wiggle room."
Catchers David Ross and Dane Sardinha and outfielders Jacob Cruz and Quinton McCracken are leading the fight for the final two roster spots. The decision on whether or not to keep an extra catcher will depend heavily on LaRue's recovery from arthroscopic knee surgery. LaRue contends he'll be ready by Opening Day but he could likely start the season on the disabled list.
Ross -- acquired in a March 21 trade with the Padres -- and Sardinha are out of options. Both would likely be claimed off of waivers by a catching-starved club.
Cruz, the Reds' pinch-hits leader last season with 20, has struggled at the plate during camp while batting .194 (6-for-31). Batting .356 (16-for-45), McCracken appears to have the edge but has been bothered lately by a sore right foot.
Throwing a wrench in the projections are two things -- the potential for a last-minute trade and veteran outfielder Brian Buchanan.
Buchanan, who was not even invited to big league camp, might be enticing for Narron and general manager Wayne Krivsky to consider keeping after he made the most of his chances. He batted an eye-popping .568 (21-for-37) with 13 RBIs in 20 games with Cincinnati this spring.
More on the cuts: The decision to cut Shackelford came down to control. The lefty posted a 4.50 ERA (six earned runs over 12 innings) in 10 games, but issued seven walks.
"Shackelford was inconsistent this spring, especially at throwing strikes," Narron said. "He did a good job against left-handers this spring. But overall, we would have liked to see a little more consistency. He's got to be able to get right-handers out."
The versatile Kata, who was claimed off waivers from Philadelphia earlier this month, batted just .143 (4-for-28) since joining the Reds. Bergolla missed most of camp with a high groin strain. He didn't play in his first game until Tuesday night.
Harang, the Reds' Opening Day starter, put a crooked number (5) on the scoreboard for the first time all spring on Wednesday. It happened during the final inning of his final outing.
But Harang certainly had a valid excuse -- he was sick. Before the game, the right-hander said he needed to nap for about an hour to feel better.
Still, Harang looked good for three scoreless innings. After Cincinnati posted four runs during a long bottom of the fifth, Tampa Bay responded with five runs -- four of them charged to Harang. Overall, he gave up five runs on 10 hits. He also walked his first batter of the spring and struck out three.
"I ran out of gas. I was exhausted," said Harang, who still got the win and finished the spring 4-0 with a 2.84 ERA. "I'm getting a bug that's going around. I had a little temperature this morning. I haven't been sleeping the last couple of nights. I wanted to make sure I got my work in."
Harang pronounced himself ready for Monday's opener against the Cubs, but wasn't dwelling on it.
"It probably won't hit me until we get to Cincinnati," he said. "It probably won't hit me until that day."
Arroyo will be facing his former club for the first time Thursday when the Reds play the Red Sox at 1:05 p.m. ET at Fort Myers. Knuckleballer Tim Wakefield is scheduled to start for Boston.