Warwickshire 158 (Harmer 5-65) and 74 for 1 trail Essex 457 (Lawrence 152, Westley 114) by 225 runs
Warwickshire capitulated in the face of Simon Harmer's mesmeric offspin as they stared down the barrel of a demoralising defeat at Chelmsford.
Harmer notched his 32nd five-wicket haul in seven summers at Essex as Warwickshire were forced to follow on 299 runs in arrears on first innings. Having already taken 5 for 65, Harmer added another wicket in the 24 overs of Warwickshire's second innings in the early evening sunshine, taking his season's tally to 32.
The South African spinner bowled 33 overs from the River End during the day, broken only by three interval breaks. He was backed up by seamer Jamie Porter, who took three front-line wickets as Warwickshire were dismissed for 158.
Essex head into the third day of the LV= Insurance County Championship match needing nine wickets to leapfrog their second-placed opponents in the Division One table. Warwickshire closed on 74 for 1 after an unbroken second-wicket stand of 66 between Rob Yates and Will Rhodes.
Essex had been forced to reshuffle their line-up overnight after Dan Lawrence, who had top-scored with 152 of their first-innings 457, was summoned to Lord's in preparation for Wednesday's second Ashes Test. Nick Browne had already been named as the nominated replacement and duly took his place in his regular close-catching position.
Warwickshire's first knock on a cooler, overcast day lasted 50 overs; the die was cast when they lost two wickets inside the first 24 deliveries. Yates was taken low down at second slip by Harmer diving forward to give Porter his first, and Alex Davies followed when he withdrew his bat to one that swung in from Sam Cook.
Jacob Bethell joined Rhodes in a rearguard third-wicket stand of 67 runs in 21 overs that stemmed the tide for a while. It was a partnership that was peppered with some pugnacious hitting from Bethell, who hit eight fours in his 64-ball 37, including three in succession off Doug Bracewell.
However, the 19-year-old left-hander stepped back to give himself room to cut Harmer and only managed to edge to Will Buttleman.
Essex;s wicketkeeper took two further catches in the space of four balls from Porter to reduce Warwickshire to 107 for 5. He got one to leave Dan Mousley before Rhodes played down the wrong line to depart for 43.
The collapse continued three balls after Michael Burgess had lofted Harmer for six over long leg. Burgess thrust forward his front leg rather extravagantly but was deceived by the equally extravagant turn and was bowled. Dom Bess was similarly undone by Harmer, turning the ball into leg slip's lap.
Harmer's fourth wicket came with the last ball before tea when Hassan Ali popped up a catch to Browne at bat-pad.
Bracewell joined the party when he induced an edge from Jake Lintott's bat to give Buttleman a fourth catch in the innings before Harmer had Chris Rushworth chipping up to mid-on to complete the innings. Ed Barnard watched six of the wickets fall from the other end and remained not out 23 from 47 balls.
Kookaburra ball or not, Essex threw it to Harmer at the start of Warwickshire's second innings and he continued where he left off. Eleven balls into his spell he had Davies caught by Browne high above his helmeted head.
Earlier, Essex chalked up a fifth batting point with two balls of the allotted 110 overs to spare when Cook smashed the delivery back past Lintott for the four to take them to 450.
That Essex reached maximum points for the second time this season was due to some lusty hitting by Bracewell and Buttleman in a seventh-wicket stand of 46 in 10 overs that was only ended when the New Zealander was trapped lbw by Rushworth.
Once the morning's target was achieved, Buttleman was caught for a spritely 43 at back-stop when mis-hooking Hassan. Lintott wrapped up the innings by bowling Cook to finish with figures of 3 for 68.