Gareth Andrew's career-best five-wicket haul put Worcestershire in control on day two of their LV= County Championship Division Two clash with Glamorgan at the SWALEC Stadium.
Visiting skipper Daryl Mitchell added only eight to his overnight 101 as his side finished on 240 - but that proved enough for a first-innings lead of 85 as Glamorgan were fired out for 155.
Andrew ripped through the Glamorgan line-up on his way to 5-40, with captain Mark Wallace's unbeaten half-century the only resistance of note.
Mitchell and opening partner Matt Pardoe then took their side's lead into three figures by reaching 20 without loss before rain and then bad light stopped play.
Resuming on 232 for nine, Worcestershire, seeking a third win in four games this season, added eight in six overs before Mitchell edged to wicketkeeper Wallace to give Dean Cosker a superb haul of 5-39.
@WorcsCCC@GAndrew14 talks to @bbchw after taking a career best 5 for 40 v @GlamCricket Worcs 20 for 0 lead by 105: http://t.co/5ngu8FBQLY
— Dave Bradley (@braddersatbbc) May 5, 2014
But if the early conclusion to the innings gave Glamorgan any encouragement, it did not last long and they lost openers Jacques Rudolph and Gareth Rees in successive overs with the score on 12.
South African Rudolph made seven before edging Charles Morris to keeper Ben Cox and Rees became Andrew's first victim, lbw for three.
The all-rounder then removed Murray Goodwin lbw for a second-ball duck and a recovery to 53 for three at lunch proved to be a false dawn.
Will Bragg and Stewart Walters' partnership of 38 was ended when Andrew trapped the latter leg-before for 18 and then added the scalp of Bragg, caught at second slip by Mitchell for 24.
By that point, just two runs had been added in the afternoon session but Wallace and Jim Allenby dug in for a half-century partnership.
Allenby hit spinner Saeed Ajmal for six and four, either side of a Wallace boundary off Andrew, to take the partnership past 30 as both men knuckled down to their task.
5 - @GAndrew14's 5-40 were his career best first-class innings figures, in his 87th match. Rapid.
— OptaJim (@OptaJim) May 5, 2014
Glamorgan's hundred came up with an Allenby single off Ajmal but, after Wallace hit Morris for four, Allenby fell to a juggling catch by Mitchell off the Pakistan spinner for 19.
Wallace found further support from Graham Wagg, who made a brisk 19 from 23 balls before being bowled by Jack Shantry.
Ajmal removed Cosker for two and Will Owen for a duck, the latter caught by on-loan England Twenty20 opening batsman Alex Hales, before Wallace reached a 78-ball half-century from the next delivery.
Andrew returned in search of his fifth wicket and, after being hit for four by Tom Helm, had the number 11 caught behind next ball to secure his best innings figures in first-class cricket. Ajmal finished with 3-48.
Mitchell took six from Wagg's opening over and eight off Owen in the eighth in an otherwise low-key start to Worcestershire's second innings. He was on 16 when stumps were drawn, with Pardoe on four.