Teenage batsman Dominic Sibley hit an unbeaten 220 to become the youngest Surrey batsman to make a first-class hundred as Yorkshire were put to the sword on day three of the LV= County Championship Division One clash at the Oval.
Hashim Amla also struck a majestic 151 as the penultimate day ended with the hosts 138 in front on 572-4. Sibley batted for more than nine and a half hours, faced 512 balls and hit 21 fours and two sixes to deny the Tykes.
At 18 years and 21 days, Sibley broke the record set in 1905 by Jack Crawford - who made 119 not out against Derbyshire at the age of 18 years and 257 days - for being the youngest Surrey player to reach three figures in first-class cricket.
Amla, who hit 151 off 154 deliveries, with 18 fours and two sixes, dominated a stand of 236 in 56 overs before Vikram Solanki got in on the act with 51.
Surrey resumed on 172-1, and nightwatchman Tim Linley was lbw offering no shot to Adil Rashid for 12.
Amla took the hosts past the 200 mark with a glorious front-foot drive through point off Jack Brooks, who was despatched with even greater authority by the South African two overs later.
Sibley moved into the 90s with a three to deep extra cover off Ryan Sidebottom before cover-driving Brooks for four. Six overs later, Sibley, who needed 107 deliveries to convert his 81 overnight into a maiden first-class century, went down on one knee and swept Rashid for four to write his name in Surrey history.
Shortly after lunch Amla moved to a 72-ball half-century which contained just four boundaries, before rounding on the flagging Yorkshire attack. Amla went to 90 by on-driving Rashid for four then launching the 25-year-old leg-spinner back over his head for six.
Four overs later, Amla brought up his hundred by cutting Rashid to the fence at backward point. The South African's 40th first-class century came off 112 balls and included 10 fours and a six.
Sibley went to 150 off 394 balls before Amla lifted Adam Lyth's off-spin straight down the ground for six en route to his 150, which was 151 deliveries in the making and contained 18 fours and two maximums.
Sibley survived a caught-behind chance off Sidebottom on 159, but Jonny Bairstow made amends later in the same over when Amla departed for 151 to make it 426 for three.
Solanki kept the pressure on by powering his way to a 45-ball 50, which included sixes over long-on, long-off and straight down the ground. Sibley then on-drove Kane Williamson for six before completing his double century, which came off 484 balls.