The Dragons had set their opponents a difficult target of 281 after an excellent partnership of 133 between Michael Powell and Matthew Maynard, and the Royals never came close, stumbling to 177 all out.
Medium-pacer David Leatherdale hit a battling 53 for the visitors but it only delayed the inevitable as Glamorgan wrapped up an impressive 103-run win to give themselves a six-point lead at the top of the table.
The hosts' hopes of a good start were shattered with the third ball of the innings as opener Robert Croft departed without scoring a run, padding up at a delivery from Alamgir Sheriyar which came back off the seam and trapped the former England international lbw.
Ian Thomas lifted his side with successive boundaries off Kabir Ali but his knock was ended on 12 after he miscued a delivery from Sheriyar and lifted the ball back down the ground to Gareth Batty.
However, Powell and new man Maynard began to take control of the Worcestershire attack, and two boundaries off Sheriyar moved Powell closer to a half-century before a deserved 50 was brought up with a controlled push down to backward point for two.
Maynard joined in with a massive six to long off and Worcestershire continued to suffer, with Leatherdale going for 11 off the 20th over.
An excellent 42-ball half-century was completed with yet another cut to the boundary by Maynard, the seventh four of his innings, but with the partnership on 133 the Royals made the breakthrough they desperately needed after a brilliant piece of fielding by wicketkeeper James Pipe.
Powell went for a risky single but was turned back and Pipe, receiving the ball from Leatherdale well in front of the stumps, threw himself backwards to remove the bails and dismiss the batsman for 71.
Pipe then watched an edge from Maynard fly agonisingly wide of his gloves but the Oldham-born batsman eventually succumbed just 13 runs short of a century.
Maynard drove a delivery from Batty back down the pitch but the bowler reacted instantly to dive to his right and take a quality one-handed catch.
Glamorgan's decent position was weakened further when Adrian Dale (3) steered Leatherdale to Anurag Singh but the Welsh team sensed a decent total and a wild swipe from Mark Wallace saw the ball disappear for six, before the left-hander drove a rising shot into the hands of Stuart Lampitt at midwicket.
Captain Steve James was then run out for 43 and the tail added 19 more as Glamorgan finished on 280 for eight.
The early breakthrough which the Dragons wanted duly came with Worcestershire on 11 when Singh slashed at a delivery from Andrew Davies and edged the ball through to Maynard at first slip.
The Royals were struggling to settle and it was no surprise when Pipe went with the score on 31, cleaned bowled by Australian Michael Kasprowicz for 13.
Captain Graeme Hick came to the crease and the run rate dwindled drastically until he and Vikram Solanki took 12 off the 16th over to give the innings a boost.
However, Worcestershire were left in real trouble when Solanki (27) played and missed at Dale, whose delivery crashed into the stumps to reduce the visitors to 75 for three.
And the big wicket was not long in coming with Hick scooping Harrison tamely to the diving Croft at mid on having made 26.
Croft's excellent fielding then made victory as good as certain when he reacted quickly to run out Ben Smith (10) with an under-arm direct hit four balls later.
Leatherdale smashed a big six as the Royals continued to battle but he could only watch as team-mate Stephen Peters went cheaply, nicking Croft through to wicketkeeper Wallace.
Leatherdale was far more resilient, though, and a series of boundaries were followed by another six although the right-hander was undone having reached 53 when he was bowled by Croft.
With the score on 175 for seven Worcestershire were well beaten, and the final three wickets fell for just two more runs as the Dragons completed a crucial victory.
Bookmark or share this story with: