Ryan Watkins produced figures of 5 for 16 as Gloucestershire were sent crashing to a second successive defeat in the competition.
Chasing 167 to win at the Swalec Stadium, Gloucestershire could only make 127 all out in 19 overs after collapsing to 72 for nine in the 12th over.
The visitors had made an encouraging start by reaching 38 without loss but were then reduced to 54 for six by the ninth over.
The damage was done by Watkins in the sixth over when he dismissed Alex Gidman, Craig Spearman and Chris Taylor in the space of four balls as Gloucestershire went from 47 for two to 50 for five.
Another medium pacer Mark Cosgrove also chipped in with two for 11 in his fours overs.
From 72 for nine the final pair Jon Lewis and Steve Kirby gave some respectability to the score, putting on 55.
The 39-run victory made up for Glamorgan's opening one run defeat against Somerset, a game they should have won easily on Monday.