The England batsman racked up only his second score of 50 or more this season, ending the day on 62 not out in the hosts' 119 for one in reply to Glamorgan's 224 His second-wicket partnership with Liam Dawson (37 no) was worth 87 and left his side 105 runs behind.
Kyle Abbott, Matt Coles and Sean Ervine earlier claimed three wickets each, Ervine returning marginally the best figures of three for 36.
Captain Mark Wallace made an unbeaten 67 for Glamorgan, but their total after losing the toss and being put in to bat looked well short.
Hampshire captain Jimmy Adams went for 13 with the score on 32, but any hope the visitors had of further breakthroughs before the end of the day were foiled by Carberry and Dawson.
The former brought of his 50 with a four square of the wicket off Jim Allenby, one of seven in his 101-ball knock.
Glamorgan's top order, in contrast, had failed to fire, with Gareth Rees departing for seven and Jacques Rudolph for a duck, the South African Abbott's first victim and one of four for Michael Bates behind the stumps.
Rees' dismissal left them 12 for two, but William Bragg helped start the rebuilding process with 49. Support from the other end was in short supply, though, with Murray Goodwin's 23 the best on offer.
And when Bragg went, again the combination of Abbott and Bates bringing about his downfall, his side were 117 for six.
Wallace took up the fight, hitting nine fours in his breezy 90-ball innings to help his side past the 200 mark and beyond as Ervine wrapped up the tail around him.
That put the pressure on those tailenders to do some early damage with the ball, but they found the going tough against Carberry and Dawson. Graham Wagg was the only one to have any success with the wicket of Adams.