Somerset 180 (Patel 6-5, Clarke 4-32) and 18 for 0 trail Surrey 459 (Pope 117, Borthwick 83, Burns 66, Groenewald 4-85) by 261 runs
Ryan Patel produced a remarkable burst of six wickets for five runs in 23 balls as Surrey made Somerset follow-on in the battle of the County Championship's top two at Guildford.
The 20-year-old had only taken two wickets in his career, but Somerset had no answer as he swung the ball late at gentle medium pace after coming on in the 56th over with Somerset 169 for 4. Less than 30 minutes later they had subsided to 180 all out and were following on.
"It's all a bit surreal to be honest, I can hardly believe what's happened," Patel said. "Our bowling coach Geoff Arnold keeps telling me to keep things simple and not to try and buy wickets. I got one with my first ball which gave me a lot of confidence and it was coming out really nicely, but I never expected to finish up with six wickets.
"When I went onto bowl all I was thinking about was keeping an end tied down and supporting Rikki Clarke, who was bowling beautifully for us."
Opener Ed Byrom, who held their reply together with a career-best 52, was lbw to his first ball offering no shot. In the same over Lewis Gregory was pinned in front and in his next over Patel struck three times in five deliveries.
Steven Davies was lbw to the first ball of the over, Josh Davey edged the fourth to Rikki Clarke at slip then Tim Groenewald was pinned in front trying to work the ball to leg. Jack Leach kept out the hat-trick delivery but needed lengthy treatment when he ducked into a short ball from Morne Morkel which necessitated a change of helmet.
Leach became Patel's sixth wicket and fourth leg-before victim as Somerset conceded a first-innings deficit of 279. It was the best spell at Guildford since Jimmy Ormond took four wickets in five balls against Middlesex in 2003.
Following on, Somerset closed on 18 for 0 - still 261 behind - and they face an uphill battle to prevent Surrey deposing them as first division leaders.
Patel put the gloss on an excellent day for Surrey which had been shaped by two players - Ollie Pope and Rikki Clarke - who learned their craft at Guildford.
Pope continued the outstanding start to his career by scoring 117, his third century of the season and fourth in only his 12th first-class game. In the process, the 20-year-old overtook team-mate Rory Burns to become the leading run-scorer in Division One this season, a landmark he reached with successive boundaries which took him to 99.
Pope faced 134 balls and struck 19 fours but could do little when a delivery from Groenewald, who finished with 4 for 85, crept through. He added 60 for the seventh wicket with Clarke, who contributed a breezy 42 before he was last out after Surrey had made their highest total of the season.
Clarke, benefitting a strong breeze at his back, then took three wickets in 15 balls to blow a hole in Somerset's top order. Matt Renshaw, who had been dropped twice, edged to slip, George Bartlett went for a duck and James Hildreth was squared up and gave an easy catch to point as he aimed down the leg side.
Byrom and skipper Tom Abell fought back either side of tea to add 54 but Abell feathered an out-swinger when Clarke returned to the attack. Clarke finished with 4 for 32 but he was eclipsed by Patel's astonishing burst.