Essex seamer Aaron Beard celebrated a new contract by taking four wickets in 13 balls as County Championship Division One leaders Somerset were dismissed for just 131 at Chelmsford.
Beard and Jamie Porter – who has likewise signed on until 2021 – shared nine wickets between them as Essex took a first-innings lead of 85 and then reached the close on 164 for six in their second innings.
A magic spell from Beard saw Somerset go from 63 for two to 74 for six by the mid-point of the 33rd over, with Somerset captain Tom Abell (36) and George Bartlett (25) the only batsmen to make any sort of impression for the visitors.
Ex-England skipper Alastair Cook made 47 before falling to Groeneweld in Essex's second innings.
Surrey sought to make up for a disappointing first day at the Kia Oval as they bowled out Warwickshire for 230, conceding a first-innings lead of 36, before reaching the close on 141 for three.
Sam Curran, Jordan Clark and Morne Morkel finished with three wickets each, while Mark Stoneman made 71 off just 85 balls to help the hosts take a lead of 105.
In Division Two, Chris Jordan took three wickets in just eight balls for Sussex but Durham ended the day on 259 for five thanks to a brilliant century from Cameron Bancroft and strong support from Ned Eckersley.
Jordan ripped through the Durham top order as the visitors went from 64 for one to 90 for five.
But captain Bancroft, having decided to open the batting, stood firm and ended the day unbeaten on 120, while Eckersley was on 70 at the other end come stumps.
Chris Dent's 105 provided the backbone of Gloucestershire's innings at Bristol but once he was dismissed the hosts went froM 210 for two to 313 all out, with Glamorgan reaching 187 for four in reply before stumps.
Alex Wakeley hit 65, his second Championship half-century of the season, as Northamptonshire made 299 against Leicestershire, who then closed six without loss.