Hampshire went to the top of CB40 group B after Neil McKenzie produced a brilliant innings in their 107-run win over the Welsh Dragons in Cardiff.
McKenzie’s 88 from 89 balls helped the Royals, who lost the toss, towards 226 all out at the Swalec Stadium.
And in reply, Chris Wood recorded career-best figures of five wickets for 22 runs and Danny Briggs took four for 32 as Glamorgan were completely outclassed.
The hosts could make only 120 all out with 7.1 overs remaining, ending their realistic hopes of reaching the semi-finals.
Hampshire had reached 27 for nought in four overs but were pegged back by Glamorgan with two wickets – Jimmy Adams and Simon Katich.
James Vince looked certain to go to his 50 but was run out by wicketkeeper Mark Wallace two runs short of the target, a dismissal which was initially given as stumped.
It left the visitors 78 for three in the 14th over.
The exit of Vince and some good bowling, especially from Jim Allenby, slowed the run rate as Hampshire reached the halfway stage at 102 for three.
That became 108 for four in the next over when Sean Ervine was brilliantly stumped by Wallace, and 109 for five when Allenby trapped Liam Dawson leg before wicket.
Allenby, who finished with one for 21, had an assist when Michael Bates was run out in a mix-up with McKenzie attempting a third run.
South African McKenzie reached his half-century from 59 balls out of 132 for six and – although Hamza Riazuddin holed out to mid-on – Wood helped McKenzie to take 15 off an over from Glover.
Wood was well caught by Marcus North one-handed at midwicket.
But Danny Briggs struck Graham Wagg for two sixes inbetween losing McKenzie, who holed out off the expensive Simon Jones seven balls from the end of the innings.
The Dragons were not helped by being penalised six runs for not bowling their overs in the time allotted.
They were soon on the back foot in their reply when they were reduced to 21 for three in six overs by Wood.
Wallace was caught mistiming a pull, Chris Cooke was well caught at short midwicket and Gareth Rees was bowled.
Allenby and North did their best to get the hosts back on course but David Griffiths had North caught behind attempting to drive.
It left the home side 47 for four after 14 overs.
The chase did not get better for the home side as Allenby was well caught by Vince on the long-on boundary off Briggs, leaving them 58 for five in the 18th over.
Wagg and Stewart Walters took the batting powerplay with Glamorgan needing 135 off the final 14 overs, before Briggs bowled Wagg, Ben Wright and John Glover.
And Wood returned to bowl Cosker and Jones with consecutive balls as Glamorgan subsided, leaving Hampshire to toast a comfortable victory.
The win puts the Royals top in group B on 13 points from their nine matches in the competition so far.
That’s one point ahead of Surrey, who have played one game less, and three in front of third-placed Nottinghamshire.
Hampshire’s next CB40 contest is this Tuesday when they welcome Somerset to the Ageas Bowl (4.40pm).