Yorkshire would have been concerned that Ballance’s 120 in his first competitive match as their permanent captain was looking like only adding respectability to the scoreboard having lost five wickets for 42 after lunch, slipping from 110 for two.
A number of their top order got starts before playing loosely against the likes of Fidel Edwards (three for 58), South African Kyle Abbott and Gareth Berg, who struck twice apiece.
Alex Lees and Adam Lyth, who pulled Edwards for six, fell before lunch for 20 and 30. Lees had his off-stump uprooted by Edwards before Lyth feathered behind as he tried to leave Berg alone.
Australian overseas Peter Handscomb also looked untroubled until he missed an attempted drive against Edwards and was bowled for 25, leaving Yorkshire 110 for three in the 35th.
That started an afternoon collapse which saw Jack Leaning lbw to Berg, Tim Bresnan bowled by Edwards for a duck, Andrew Hodd caught at second slip off Abbott, also without scoring, and Azeem Rafiq bowled by Abbott.
Ballance was struck a glancing blow on the helmet by an on-song Edwards before playing nicely on both sides of the wicket as he led an eighth-wicket stand of 106 with Steve Patterson either side of tea.
The pair ensured two batting bonus points, and set the scene for a remarkable final hour.
Ballance reached his century off 163 balls before he was bowled by Liam Dawson’s left-arm spin after tea. Dawson also trapped Josh Shaw lbw as the score fell to 266 for nine in the 76th over.
Brad Wheal wrapped up the Yorkshire innings in the next over when Vince took a one-handed stunner at third slip to remove Coad.
However, Coad’s mood was improved dramatically inside four overs of Hampshire’s reply as the visitors fell to 18 for two. The fledgling seamer trapped Jimmy Adams lbw in the second over and had Vince caught at mid-wicket for six in the fourth.
He then had Carberry caught at third slip, Sean Ervine caught at mid-off and Rossouw lbw offering no stroke in an astonishing end to the day.
Cookies on ECB.co.uk