Essex had started the day requiring 141 to reach their 238-run target with six wickets standing. The end came at 12.30pm, half-an-hour before lunch, with Essex still 92 runs short.
It was a remarkable turnaround in the fortunes of the white-rose county, who almost exactly 48 hours earlier had been all out for a humiliating 50 in little more than 18 overs.
Yorkshire’s second win of the season was underpinned by Jonny Bairstow, who elevated himself to open the second innings after tea on the first day and thrashed 50 in double-quick time to alter the destiny of the game.
Patterson claimed career-best figures of six for 40, beating the 6-56 he took against Durham in June 2016, the last time he had a five-wicket haul.
Coad broke Essex’s resistance after 25 minutes’ play when he dismissed Ryan ten Doesechate and followed with the wickets of James Foster and Simon Harmer in the space of 11 of his own deliveries.
Patterson had rattled through the first Essex four wickets on the second evening, and sent back the man upon whom Essex’s hopes rested, Dan Lawrence, to claim his fifth of the innings. At that stage the county champions had lost four wickets in 23 balls with the score stuck resolutely on 114.
It was Essex’s first defeat in the Championship for 20 months, spanning 19 games, since they lost at Chelmsford to Glamorgan in the match that confirmed their promotion to Division One. Yorkshire took 19 points for their win to Essex’s three.
England captain Joe Root bowled the first over of the day from the River End and almost had Lawrence lofting airily to extra cover where the ball eluded two converging fielders. However, Lawrence calmed down after that rush of blood and brought up Essex’s hundred two balls later.
Ten Doeschate, who had cut Steven Patterson for a thumping four, was the first in the procession after helping Lawrence negotiating the first seven overs without concern. The pair had put on 59 in 23 overs, lifting Essex from 55 for four. But Coad got one to keep low and had the Essex captain plumb lbw for 34.
James Foster lasted just three balls before Coad nicked his outside edge and Jonny Bairstow, standing up, took the catch. Simon Harmer became Coad’s third victim when he played over a delivery and went 1bw.
Lawrence’s 100-ball stay for 32 ended when Patterson removed his middle stump as he played around a straight one. Peter Siddle and Jamie Porter put on a dozen runs for the ninth wicket before Porter became the latest lbw victim and Patterson’s sixth.
Sam Cook passed his previous highest first-class score of three and was five not out when Siddle was lbw to Tim Bresnan for 24.