Veterans Thilan Samaraweera and Alan Richardson led the way as Worcestershire moved ahead of Leicestershire at the halfway stage of their Division Two clash.
Seamer Richardson finished with figures of 5-57 - including claiming the first hat-trick of his career - as the Foxes slipped from their overnight total of 270-7 to 274 all out.
By the close Worcestershire were 265-5, giving them a nine-run lead, thanks to an unbeaten 99 from Samaraweera.
The Sri Lankan shared in a fourth-wicket stand worth 181 in 56 overs with Tom Fell, who made 84 before becoming the first of two wickets in as many overs for Shiv Thakor.
The visitors had lost their first three wickets with only 55 on the board, Matthew Hoggard removing openers Matt Pardoe (two) and Daryl Mitchell (23).
In between Worcestershire also lost the in-form Moeen Ali, who was adjudged lbw to Ben Raine, for 25.
Earlier Richardson, who had already picked up two wickets on the first day to take his total for the season past 50, struck with the last ball of his 24th over and then the first two of his next.
He had Ollie Freckingham caught at slip by skipper Mitchell and then nailed both Hoggard and Alex Wyatt lbw.