South African Louis Oosthuizen held his nerve to lead The Open by one shot after a gripping third round played out in bright sunshine at Royal St George's.
Oosthuizen, the 2010 Open champion, had moved serenely to 13 under par with a birdie at the ninth hole before two bogeys, his second and third of the tournament, halted his progress and have rivals some hope.
Americans Jordan Spieth and Collin Morikawa joined him in a three-way tie for the lead but Oosthuizen then sank a 10-foot birdie putt at the par-three 16th to move back to the top of the leaderboard and carded a 69 to finish at 12 under.
"Definitely wasn't swinging freely today, was a little all over the place with my iron shots," Oosthuizen told Sky Sports.
"The R&A weren't happy with the low scoring and they put some pins out there that were very questionable, but it was tough and I'm glad I could hold it together."
Oosthuizen, 38, has finished second in six major championships since his triumph at St Andrews 11 years ago. "I'm very excited, it's a great position," he said.
Morikawa emerged as Oosthuizen's closest challenger, recovering from a poor start to collect four birdies and sign for a 68 that left him on 11 under.
Spieth, bidding to lift the Claret Jug for the second time, racked up four early birdies and another one at the 10th took him to 12 under.
The 27-year-old's putter went cold on the back nine, however, a dropped shot at the 11th halting his momentum before he bogeyed the last two holes in a round of 69 to finish at nine under.
Canadian Corey Conners put together a sparkling 66 to get to eight under alongside American Scottie Scheffler, one ahead of Spain's Jon Rahm, Canadian Mackenzie Hughes and South African Dylan Frittelli.
US Open champion Rahm eked out three birdies on the back nine in a battling 68.
"Really good round. Played good golf. Had some really good highlights," Rahm said.
American world No 1 Dustin Johnson's challenge faded with a disappointing 73 that left him at four under, while his compatriot Brooks Koepka struggled to a patchy 72 and the four-times major champion ended at three under.
Defending champion Shane Lowry made a gutsy 69 to get to five under but the Irishman conceded he was probably too far behind the leaders to retain the title.
"I'm not sure I can win from here, but the way I'm playing, I can shoot six under," Lowry said.
"I'm very happy with how I played today. It was very frustrating out there all day today and I'm proud of myself the way I battled."