Besökarna, satt 269 för att vinna, öppnade med en monter på 87 mellan Mark Wallace (50) och Jacques Rudolph.
Men spinners Graeme van Buuren och Jack Taylor och Seamer Craig Miles krävde åtta wickets mellan dem i timmen före te.
Taylor slog in segern med de sista två wickets efter pausen.
Det var Gloucestershires första mästerskapsseger på Bristols högkvarter i mer än två säsonger.
Samtidigt Glamorgan kapten Jacques Rudolph bekräftade att Sydafrika snabb bowler Dale Steyn, som för närvarande spelar i den indiska Premier League försöker slutföra visum formaliteter för att tillåta honom att underteckna för en del av T20 Blast kampanjen.
Gloucestershire spinner Jack Taylor sade: "Det var lite konstigt, det snurrade inte för mycket men vi satte bollen i rätt område.
"De kom hårt, ville jaga loppen och vi inte skal några chanser, vi tog fångsten som kom vår väg.
"De behövde tre och en halv över och vi visste om vi bowlade hårt, det skulle vara svårt för dem.
"De fick en bra start men G (van Buuren) kom på och tog tre snabba wickets som var precis vad vi behövde, riktigt bra."
Glamorgan kapten Jacques Rudolph berättade BBC Wales Sport: "När Mark (Wallace) och jag själv hade det partnerskapet i förskott, Jag trodde verkligen att vi hade en stor chans att vinna detta spel.
"Det var en galen session, vi förlorade tio wickets för runt sextio körningar på en ganska platt wicket och det är viktigt att vi har en bra titt på oss själva. Vi fick en vinnande position och kastade bort den, vi har inte råd att göra det.
"Det var dålig avrättning, vi hade killar fångade på gränsen, vid mitten av och mitten av, och det är svårt att förklara.
"Det är hårt arbete just nu, men vi måste omgruppera och börja om på nytt. Jag har varit i sådana här positioner förut och man måste vara lite försiktig med överanalyserande saker, vi måste hålla oss till grunderna."
Gloucestershire tjänade sin första seger för säsongen när Glamorgan kollapsade på spektakulärt sätt den sista eftermiddagen.