Hampshire 245 for 3 ((Adams 132*, Alsop 62*) trail Yorkshire 350 (Ballance 109, Brook 79, Steyn 5-56) by 105 runs
Jimmy Adams battled to his first Specsavers County Championship century for almost a year as Hampshire fought back into a strong position against Yorkshire.
Veteran left handed opener Adams was forced to rebuild after quick wickets with a gritty and sensible ton.
His runs backed up Dale Steyn's first five wicket haul since August 2016 as Yorkshire were bowled out for 350 - their highest total of the season.
Adams, who is considering retiring at the end of the season, hadn't reached three figures in the Championship since a 144 against Surrey last July - but never looked in danger against the pink ball.
Opening partner Joe Weatherley fell in just the fourth over when he was lbw to Jack Brooks - a delivery which nipped back late and would have gone on to hit the right hander's off-stump.
James Vince had destroyed Yorkshire's bowling in an outrageous 171 earlier in the week in his side's Royal London One-Day Cup semi-final victory.
But despite a glimpse at his exceptional shot making, in a 54-run stand with Adams, the Hampshire captain was castled by a Brooks with the fourth ball after the tea interval.
An over later Sam Northeast, on his first Championship innings since fracturing a finger in his hand, stroked a delicious straight drive down the ground, before he had his middle stump uprooted by Steven Patterson.
That brought Alsop to the crease and saw a rear-guard and hard-working stand with Adams.
Adams reached fifty in 96 balls, moved to with a forceful cut, as he was quick to punish anything off line.
Meanwhile, Alsop was taking his chance having been handed the wicket-keeping gloves from Lewis McManus for this match by starting a marathon - which saw his pass 50 in a glacial 151 deliveries.
Adams then reach three figures with another cut backward of square from his 182nd ball.
He ended the day unbeaten on 132, with Alsop on 62, having shared a 177 for the unbroken fourth wicket.
Earlier, Hampshire wrapped up the Yorkshire tail - although the visitors managed to grab a fourth bonus point for the first time this season.
The hosts had looked set to wrap things up quickly as Tim Bresnan and Brooks both fell within the first three overs of the day.
Bresnan was bowled by a Fidel Edwards yorker, before Brooks followed him back when he edged Steyn to Ollie Rayner at second slip.
The Brooks scalp handed Steyn a deserved five wicket haul, as his fitness ahead of South Africa's Test series with Sri Lanka next month continued to move in the right decision.
The fast bowler ended with figures of 5 for 66 from his epic 29 overs - his first five-for since the Centurion Test against New Zealand nearly two years ago.
Captain Patterson guided his side to an additional bonus point, taking them to four with the bat, with 37 runs, before Kyle Abbott celebrated his first wicket since early May when he had Patterson caught scooping to mid-off.