Tom Kohler-Cadmore and Harry Brook posted their first Specsavers County Championship centuries of the season as Yorkshire piled the pressure on leaders Somerset at Emerald Headingley with a first-innings 520 and then early wickets after tea.
At the halfway stage, the White Rose are well placed to claim their fourth win of 2019.
Kohler-Cadmore advanced from 77 not out overnight to post 102 before lunch on day two, while Brook followed him to three figures just before tea and finished with 101. On day one, Gary Ballance had hit a fine 111.
Somerset started their reply immediately after tea and closed on 76-4 from 31 overs.
The White Rose amassed their second 500 plus score of the season following the first-innings 554-7 declared in April’s win at Hampshire.
But this was the first time in Championship cricket they have reached 500 at Headingley since 2016.
It was also the first time since that season Yorkshire have had three centurions in an innings, the last being Adam Lyth, Jonny Bairstow and Liam Plunkett against Hampshire.
The day’s feature partnership was 105 inside 20 overs through the afternoon between eighth-wicket pair Brook and Keshav Maharaj (72 off 81 balls).
The South African Test left-arm spinner played more aggressively than anyone else.
Dropped on eight at deep mid-wicket by George Bartlett off Dom Bess’ off-spin, Maharaj later hoisted the same bowler over the fence and took all the pressure off Brook as he approached a second career four-day century.
They advanced the score from 398-7 shortly after lunch.
Brook, 20-years-old, was dropped from Yorkshire’s team after a poor start to the summer at the top of the order and indicated he would prefer to bat in the middle order.
This is only his second game back after four on the sidelines.
Batting at number six behind nightwatchman Josh Shaw, who was the first wicket to go early on day two, Brook calmly compiled his runs off 128 balls with 11 fours.
Kohler-Cadmore fell alongside Shaw and Jonny Tattersall in the morning, with the latter undone by extra bounce from Jack Brooks and caught at second slip off glove.
Kohler-Cadmore reached his century off 204 balls and fell for 102 two balls later, caught at second slip by Jamie Overton off twin brother Craig.
The first wicket of the day had seen Shaw bowled off the inside-edge by Tim Groenewald as the hosts advanced from 282-3 overnight to 386-6 at lunch.
Matthew Fisher was then caught at short-leg off Bess, who later claimed three of the last four wickets (4-130).
And that brought Brook and maverick Maharaj together.
They took the hosts beyond 500, the latter taking the lead role before holing out to long-on off Bess, who also had Steve Patterson caught behind.
At that stage, Yorkshire were 506-9 with Brook on 91, and what followed was a near 10-over period of him manipulating the strike from last man Duanne Olivier as he crept through the nineties.
He reached his ton shortly before holing out to long-off against Tom Abell’s medium pacers to wrap up the innings on the cusp of tea.
Somerset’s top order then crumbled to 49-4 in the 19th over, with Olivier striking twice.
Fisher had Abell caught at third slip by Brook in the fifth before Lyth held on at second to get rid of Azhar Ali eight overs later against Olivier, who also had Bartlett caught at mid-on by Patterson following a miscue.
Sandwiched in between his wickets, compatriot Maharaj struck with only his fourth ball when he had Tom Banton caught behind. James Hildreth finished unbeaten on 36.