It was Yorkshire's day on the third day of the County Championship match with Warwickshire at Edgbaston.
Warwicks resumed on 281-6 but quickly lost their wickets including that of Rikki Clarke who has announced he will be playing for the Bears for another season, to finish all out for 318 in 96 overs.
Warwicks were 37 ahead and that lead had been wiped out when Sayers become the first of three victims for Chris Wright.
Root made 49, McGrath 57, Gary Ballance finished unbeaten on 92 and Adil Rashid hit 62 not out as Yorks closed on 319-5, some 282 runs ahead.