Worcestershire all-rounder Ethan Brookes followed up his important contribution with the bat by taking three wickets before a fine century from keeper-batter Michael Pepper earned Essex a substantial lead in the Vitality County Championship encounter at Chelmsford.
Brookes had helped Brett D’Oliveira rescue Worcestershire from 46-5 on day one with an impressive 46 in a recovery to 266 all out.
He then caused plenty of problems on day two with the ball as part of an attack which overcame a difficult start to the day to reduce Essex at one stage to 227-7 – still 39 runs in arrears.
Brookes had figures of 3-21 from his opening 10 overs and Essex were kept in check and made to work hard for runs after the opening half hour thanks to some disciplined bowling and astute field placings.
On loan Surrey spinner Amar Virdi bowled with good control for large periods of the day and also picked up three wickets after delivering nearly 38 overs.
But then on a slow pitch showing signs of turn, Pepper changed the momentum of the game after tea in a partner of 134 for the eighth wicket with Shane Snater.
He ended unbeaten on 112 from 125 balls with one six and 13 fours and his efforts were largely responsible for Essex totalling 404.
Joe Leach came out as nightwatchman with Jake Libby for the final five overs of the day with spinner Harmer taking the new ball with Sam Cook.
It was a tense period of play but the Worcestershire pair survived and will resume tomorrow on 2-0.
Worcestershire started the day looking for further breakthroughs after Tom Taylor had picked up the prized wicket of South African opener Dean Elgar yesterday evening.
But the Essex second wicket pair of Robin Das and captain Tom Westley were able to score freely during the opening part of the second day and picked up a succession of boundaries.
Das did have one slice of good fortune on 30 when he flashed at a wider delivery from Logan van Beek and edged to the third man boundary.
It was Brookes who brought about the first success of the day for Worcestershire in his second over.
Das (46) pushed forward to a delivery which was angled back in and was bowled after adding 65 with Westley.
Jordan Cox came to the wicket after being released from Test duty by England against Sri Lanka at Lord’s and replaced Noah Thain in the Essex line-up.
The scoring rate dropped significantly after the early flourish with Brookes bowling an accurate spell and Virdi giving little away.
There was more joy for Brookes when Cox (3) clipped him off his legs straight to Adam Hose who took a sharp catch at short mid-wicket.
Brookes came out of the attack after an effective burst of 6-2-11-2 and during one 10 over spell himself and Virdi conceded just 13 runs.
Club Captain Brett D’Oliveira came on for Virdi just before the lunch interval and the move paid instant dividends.
Matt Critchley (10) was deceived by a delivery which hurried onto him and was plumb lbw at 146-4.
Westley reached his half century off 95 balls and he and Paul Walter were content to milk the singles and pick up the occasional boundary after the resumption as the 200 came up in 62.4 overs.
Virdi settled into a lengthy and tidy spell and deservedly picked up the prized scalp of Westley in his 23rd over, his first for Worcestershire.
Westley (68) stepped away to make room to cut but only top edged through to the alert Roderick to end a partnership of 55 with Walter.
There was more success for Worcestershire when Van Beek, in his first red ball game since March when playing for Wellington in the Plunket Shield, returned to the attack.
Walter (33) clipped his first delivery just over Kashif Ali at short mid wicket but the next ball led to his downfall when he attempted a cut and Rob Jones reacted sharply at slip to grasp the low chance.
It secured a second bowling bonus point for Worcestershire and then Brookes came back into the attack to pick up his third wicket.
Simon Harmer (7) flicked at a delivery down the legside but feathered through to Roderick.
Kashif Ali had his first bowl after a lengthy spell by Virdi and Pepper on 26 survived a chance at slip after going for a drive.
The new ball was taken at 253-7 off 80 overs but a series of attacking shots from Pepper lifted Essex into a narrow lead by the tea interval.
Pepper was joined by Snater and the pair guided Essex into a substantial first innings advantage via a century stand off 136 balls.
They reached their half centuries off 64 and 73 balls respectively before van Beek broke the partnership when Snater (53) provided Roderick with his third catch of the innings.
Pepper completed a fine 116 ball hundred before Virdi wrapped up the innings by bowling Sam Cook (15) with a delivery which went on with the arm and trapped Jamie Porter (0) lbw after he pushed forward.
Brookes ended with figures of 12-2-34-3 and Virdi 37.4-4-126-3.