Former Hampshire bowler Nixon McLean left his old county on the verge of a first championship defeat of the season - with the help of a teenage debutant.
McLean and Simon Francis, who was released by Hampshire less than two years ago, ripped through the top order. Then 18-year-old Gareth Andrew made Somerset clear favourites at the end of day two by taking three middle order wickets.
Somerset, 224-6 overnight, added 84 for the loss of their last four wickets in 33.5 overs.
Jamie Cox was left high and dry on 127, having added just 26 runs in more than two hours, while watching Dimitri Mascarenhas and Simon Katich mop up the tail from the non-striker's end.
Once Keith Dutch was dismissed, caught at second slip for 61 having put on 115 with Cox, the three men who were to torment Hampshire's batsmen soon followed.
Andrew was the first of the trio to depart and Mascarenhas held a return catch high to his left to dismiss McLean, who was out driving at his former teammate.
Francis became Katich's third victim of the innings when he popped one up to silly point in the next over as Somerset's innings ended with the last ball before lunch.
Somerset finished on 308, with Cox batting more than seven hours on his own for his best score of the season, but there is little danger of Hampshire batting that long.
John Crawley was out first ball on the day he would have hoped to remind the England selectors of his ability.
McLean trapped Hampshire's captain with a ball of full length that was quicker than anything the home county had delivered.
It was the fourth ball of the home side's innings and, sadly for Hampshire, Derek Kenway and Robin Smith soon joined their skipper in the changing room.
Kenway's miserable run continued - he has scored just 46 runs from six championship innings this season - when he was also trapped leg before by West Indies quick Mclean.
McLean marked his next over by bowling Smith via an inside edge. McLean played for Hampshire in 1998 and 1999, Smith's first two seasons as the county's skipper, and that would have made his 25th wicket of the season all the sweeter.
The 29-year-old bowled rapidly in reducing Hampshire to 6-3 in the sixth over but Francis did not intend to miss out.
He pinned Katich in front after the Aussie had done his best to rescue a dire situation - and then Andrew made his mark on his championship debut.
Three wickets in as many overs, including two in as many balls, left Hampshire 36 runs short of the 159 follow-on target.
Will Kendall and Nic Pothas put on 76 runs to restore some respectability at tea but the former departed to the last ball of the first over of the evening session - Dutch held on to a catch low to his left after diving across from first slip.
And when Pothas cut the first ball of Andrew's next over straight to cover, Hampshire were really struggling.
Shaun Udal survived the hat-trick ball but Mascarenhas was out for an uncharacteristic nine-ball duck, smashing Andrew straight to mid off in the rookie's next over.
Tremlett's foot injury meant he had to bat with Katich as his runner but after 12 minutes at the crease he and Udal walked off after being offered the light.
Umpires Barry Dudleston and Jeremy Lloyds carried out three inspections but a total of 24 overs were lost to bad light. Just as well with McLean scenting the third five-for of his third season in county cricket.
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules hereComments are closed on this article