The highlight of the day was Cook's dour batting after getting reprieve on 15 when Ravindra Jadeja dropped a sitter at third slip off debutant Pankaj Singh's bowling.
Cook, who missed out on a 26th Test century by five runs, has now gone without a three-figure mark in 29 consecutive innings.
Once he got a 'life', decided to grind it out as he played 231 balls hitting nine fours frustrating a pedestrian Indian attack in the process.
Cook added 158 runs with the in-form Ballance who struck his third Test century, and second on trot against the visitors remaining unbeaten on 104 at the end of day's play.
At stumps on a rather disappointing day for Indians, veteran Ian Bell gave Ballance company, batting on 16.
It was Jadeja who got rid of the England skipper after frustrating him with a packed leg-side field. Cook in his bid to pull got a faint nick as Dhoni took a smart catch down leg-side. The England captain didn't seem too amused with umpire Marais Erasmus' decision but returned to a standing ovation from the spectators having gone through one of the toughest phases in his international career.
The Indian bowlers didn't get much help from the Ageas Bowl strip with only debutant Pankaj, who was inducted after Ishant Sharma opted out due to ankle injury, looking good in patches.
Pankaj (0/62 in 20 overs) bowled some lovely deliveries including the one which Cook edged to Jadeja, who failed to latch onto a ball that was eminently catchable.
With the second new ball, he produced a delivery that swung from leg to middle to trap Ian Bell in-front but umpire Rod Tucker didn't seem interested.
Mohammed Shami (1/62) got Sam Robson's wicket but was the most disappointing of the pace trio erring in length on a number of occasions.
Ballance on his part hit 15 boundaries in his 204 ball unbeaten knock.