The former England left-hander was hit by a ball while batting in the nets and will miss tomorrow’s County Championship game against Glamorgan at Emerald Headingley.
It is a cruel blow for the 31-year-old left-hander, who looked to be back to his best during pre-season having missed the whole of last summer through illness.
Ballance joins last year’s player-of-the-season Jordan Thompson (calf) and Matthew Waite (side strain) on the sidelines, with Dawid Malan and Jonny Bairstow also unavailable due to their involvement at the Indian Premier League.
England Test captain Joe Root is back and will also play in next week’s match against Kent at Canterbury, where it is hoped that Ballance will make a swift return.
Thompson has now returned to training, with the club saying it is hoped he will be available for selection “in the coming weeks”.
Waite is still being assessed by the club’s medical staff after picking up his latest injury while bowling in the friendly against Durham MCCU at Headingley earlier this week.
Yorkshire have named a 12-man squad for tomorrow’s game: Bess, Brook, Coad, Fisher, Kohler-Cadmore, Loten, Lyth, Olivier, Patterson (captain), Root, Tattersall, Willey.