Matt Henry made crucial contributions with bat and ball to boost Worcestershire hopes of victory in the Specsavers County Championship clash with Gloucestershire at Bristol.
First Henry made an unbeaten 42 to steer the County to maximum batting points after Joe Clarke had scored a superb career best 135.
Then the New Zealander struck three times in the space of 22 deliveries – including two in two balls – during the final session.
Gloucestershire collapsed from 157-1 to 217-6 by the close – an overall lead of 186 heading into the final day.
Worcestershire vice-captain Joe Leach also claimed two wickets in one over as their bowlers fought hard in the bitter weather conditions.
Henry finished with 3-60 from 15 overs and Leach 2-48 from 18 overs.
Gloucestershire opener Chris Dent remained unbeaten on 81 from 175 balls with 10 fours.
Barnard made the first breakthrough when Cameron Bancroft (29) was caught behind by Ben Cox with 49 on the board.
Chris Dent and Ian Cockbain added 108 in 28.1 overs for the second wicket.
But then Leach sent back Ian Cockbain (67) and Gareth Roderick (0) in the space of four balls.
Cockbain fell to a fine reflex return catch by the Worcestershire vice-captain who then trapped Roderick lbw to leave Gloucestershire on 157-3 at that juncture.
Henry came back into the attack and bowled first innings century-maker and fellow New Zealand Hamish Marshall for 17 after he had added 33 with Dent.
Then the 24-year-old clean bowled George Hankins (5) and sent back Kieran Noema-Barnett (0) in the same manner with his next delivery.
Clarke's efforts helped Worcestershire earned a first innings advantage of 31 in reaching 411 all out.
Cox, Henry and Jack Shantry also made useful contributions with the bat during the morning session as the County edged past Gloucestershire's first innings total of 380.
Worcestershire resumed on 297-5 with Clarke on 103 and Cox 59 and there was a bizarre start to the day.
Noema-Barnett bowled the first delivery to Cox whose bat broke into two when playing a defensive stroke.
Clarke on 106 was dropped in the covers off Noema-Barnett and the new ball was immediately taken when due with the total 310-5 after 80 overs.
As with the Worcestershire bowlers on the second morning, the new ball brought a stream of wickets.
Cox, after making a fine 69 from 132 balls with 11 fours, was caught behind off Liam Norwell to end a stand of 155 in 42 overs with Clarke.
In the next over Leach shouldered arms to the first ball he received from David Payne and was bowled for nought.
Barnard (9) then edged Norwell to second slip to leave Worcestershire on 331-8.
Clarke decided to go onto the attack and picked up four boundaries in the space of five deliveries from Josh Shaw to take the score past 350.
He was well supported by Henry and the pair added 39 for the ninth wicket before Clarke's fine knock eventually ended.
He was bowled by Norwell after striking 17 fours in his 175 ball knock.
Further resistance came from Henry and number eleven Shantry who added 41 for the tenth wicket to take the County past the 400 mark and secure the maximum batting points haul.
Shantry was eventually caught at mid wicket off Payne for 13 to leave Henry unbeaten on an aggressive 42.