Loan signing Matt Coles shone with both both bat and ball as Hampshire put the pressure on Worcestershire on day two of their Division Two clash at New Road.
The 23-year-old all-rounder scored a 38-ball half-century as the visitors made 428 to take maximum batting points, then dismissed Matt Pardoe (4) with his third ball as Worcestershire reached 101-2 in reply.
James Tomlinson had Daryl Mitchell (13) neatly taken at second slip by Liam Dawson but Moeen Ali (28 not out) and Thilan Samaraweera (40no) had reduced the first-innings deficit to 327 when bad light ended play.
After rejecting a new contract with Kent, Coles joined Hampshire last month with five Championship matches remaining in which to show he could fit into a revamped squad at the Ageas Rose Bowl next season.
Here he showed the aggressive side of his game as five fours and three sixes took him to 50 not out by the time Graeme Cessford and Jack Shantry polished off the last two wickets in successive overs.
In making their sixth first-innings score of 400 or more this summer, Hampshire often profited from a short boundary on the River Severn side of the ground.
Yet the second day actually began well for Worcestershire as they removed the overnight pair with only one run added to the overnight score of 197-3.
When James Vince (106) edged Alan Richardson's first ball it was parried by Mitchell and held by Moeen at first slip - the same fielder who had dropped Hampshire's centurion on four.
The alert Ross Whiteley pounced from cover to run out Adam Wheater (2) but Sean Terry, returning to the four-day team after a break of 16 months, and Michael Bates regained control in a partnership of 77 in 24 overs.
When Bates was lbw for 41, it was a well-deserved success for Richardson, the 38-year-old now on 63 Championship wickets for the season after taking 4-69 in 34 overs.
But the lower-order continued to pile on the runs as Terry made a Championship-best 58 before clipping Whiteley to mid-wicket and Chris Wood waded in with 10 fours until he was lbw to Moeen for 61 from 66 balls.