It was a third successive win in the competition for James Vince's side.
A below-par batting display meant Hampshire only posted a modest total of 128 for seven.
It still proved more than enough against the struggling visitors who were bowled out for 87 in 15.3 overs.
After winning the toss and electing to bat, Hampshire were a disappointing 32 for two at the end of the six-over power play.
Denver Hume: Portsmouth's expensive forgotten man and why former Sunderland defender really could be one for the future
'We wanted to show him a bit of love' - Portsmouth-based Spurs fans' terrific gesture to ensure Dane Scarlett feels at home on the south-coast
League One latest: Portsmouth linked duo set for Oxford United and Lincoln moves, Southampton prospect joins Blues rivals as Ipswich land former Blackpool and Derby veteran
'Real driving force... lion-hearted display... classy presence' - Neil Allen's Portsmouth ratings from 3-0 Carabao Cup win at Cardiff
'We’ve got a real problem': Portsmouth boss reveals headache after career first at Cardiff
Both dismissals were poor from the hosts’ point of view.
Aneurin Donald, playing against his former team-mates, holed out to the square leg boundary in the third over.
In the next over Rilee Roussouw crashed Marchant de Lange to the boundary, but very next ball was clean bowled trying an extravagant drive.
With Hampshire finding boundaries hard to come by, Sam Northeast fell to a neat bit of stumping to leave Hampshire struggling on 47 for three.
Vince (25) looked in imperious form by finding the boundary with some of his trademark cover drives.He, too, however, was guilty of a poor shot when he lofted an easy catch to De Lange at long on.
Wickets continued to fall on a regular basis and it took a late flourish from Lewis McManus, hitting 23 off 13 balls, to get Hampshire up to 128 for seven off their 20 overs.
Hampshire knew they needed early wickets if they were to defend their target and opening bowler Chris Wood was quick to oblige.
With the third ball of the innings he had Fakhar Zaman caught by Liam Dawson in the slips.
The next blow came in the fifth over when Kyle Abbot had danger man Colin Ingram caught by Dawson with Glamorgan on 29 for two.
Two wickets in successive overs by Liam Dawson (three for 11) and another couple from fellow spinner Mason Crane, who ended with three for 22, shattered the already fragile confidence of the Welsh side.Chris Morris (two for 21) also weighed in with two wickets as the visitors' innings disintegrated.