Singh kickstarted the day by claiming Tommy Boorman lbw with a delivery which straightened and dismissed Miles Hammond in his next over for a duck, but in contentious circumstances.
What was appealed for as a caught and bowled was, after the umpires conferred, given – to the bemusement of Hammond who took his time to trudge off.
A substantial middle order collapse followed, for which Singh was primarily responsible and superbly supported by Matthew Waite, wo took 3-14 from 16 overs and deservedly opened his own account when pinning James Bracey lbw without offering a shot.
Waite then removed stubborn Cameron Bancroft for 56 from 145 balls, who intended to push an inswinger into the off-side but only succeeding in picking out Ben Allison at square leg.
By this stage, Gloucestershire were in real trouble and still behind in the game at 97-5, and Worcestershire struck further blows to extend the collapse.
Jack Taylor, injured in the first innings, limped to the crease but he was clean bowled by Singh with a beauty which pitched on middle before beating the bat and clipping the top of off-stump.
And he had a fourth before lunch with another caught and bowled, when Kristian Clarke popped up a leading edge.
Van Buuren (32 from 50 balls) and Daaryoush Ahmed repelled Worcestershire’s attack immediately after lunch and shared in a stand worth 50 runs for the eighth wicket, before Waite sent the former’s off-stump flying.
When Ahmed (27) also perished, becoming Singh’s fifth victim after edging to Ethan Brookes at first slip, the end of Gloucestershire’s modest innings was in sight.
Tail enders Will Williams and Luke Charlesworth did drag matters out, but the new ball did the trick when Beyers Swanepoel – with the first delivery of his spell – trapped Williams with a full ball which proved too good.
That left Worcestershire with what appeared a relatively straightforward task with the bat, but Van Buuren instantly got turn and removed Dan Lategan in the very first over of the pursuit to set a few pulses racing.
Worcestershire promoted Swanepoel up to three following the early dismissal and he put a dent in the target with 35 off 38 balls.
The wily Van Buuren was relentless from one end, however and he removed Jake Libby and then Swanepoel, who was caught at short leg to make it 52-3.
When Adam Hose pushed Clarke to Bancroft, Worcestershire were still 30 runs short and seemingly making a meal of securing their humble target.
Captain Brett D’Oliveira was the next to depart when he nicked van Buuren into Bracey’s gloves, but Brookes and the steady Gareth Roderick (24 not out) guided Worcestershire through the remainder of what proved to be an awkward chase.
Report by ECB Reporters’ Network, supported by Rothesay.