Bidding to become the oldest winner in major history, Phil Mickelson will take a slender lead into the final day of the 103rd US PGA Championship after an extraordinary third round at Kiawah Island.
Eight years after claiming his fifth major title in the 2013 Open and 16 years on from winning the US PGA title at Baltusrol, Mickelson produced some vintage golf to surge into a five-shot lead, only to see it wiped out six holes later.
But with two-time winner Brooks Koepka suffering an uncharacteristically nervous finish, Mickelson again found himself in the outright lead after a 70 which veered from the sublime to the ridiculous and back again.
At seven under par Mickelson ended a breathless day a shot ahead of Koepka, who is chasing a third US PGA title in four years just nine weeks after undergoing surgery to deal with a knee cap dislocation and ligament damage.
Former Open champion Louis Oosthuizen lies two shots off the lead after a 72, with American Kevin Streelman another stroke back following a round of 70.
Mickelson and Oosthuizen began the day in a tie for the lead but that state of affairs did not last long, Oosthuizen three-putting the first before Mickelson clicked into top gear in brilliant fashion.
Aiming to surpass Julius Boros - who was 48 when he won the US PGA in 1968 - as the oldest major winner, Mickelson fired a long iron from 267 yards onto the green on the par-five second and two-putted from 15 feet for birdie.
The 50-year-old left-hander then span his approach from a fairway bunker to within two feet of the pin on the next, holed from 17 feet for another birdie on the sixth and two-putted the par-five seventh for his fourth gain of the day.
A 280/1 outsider at the start of the week, Mickelson amazingly moved five shots clear with a birdie on the 10th, but surprisingly missed from short range for another on the par-five 11th.
Oosthuizen did pick up a shot on 11 and also birdied the 12th for a two-shot swing as Mickelson found sand off the tee on his way to a first bogey of the day.
Oosthuizen looked to have squandered his recent gains when he drove into the water on the 13th, only for Mickelson to amazingly follow him into the hazard.
Oosthuizen's ball had at least crossed the boundary of the hazard part of the way down the hole and he was able to scramble a bogey, but Mickelson had to hit another ball off the tee on his way to a double bogey.
With his lead down to one, Mickelson showed commendable composure to hit a superb tee shot on the par-three 14th, but was unable to convert the birdie attempt from seven feet.
In the group ahead, Koepka hit a stunning second shot from 284 yards on to the 16th green to set up a birdie to tie the lead, while Mickelson's wayward drive on the same hole finished under a golf cart's front tyre.
Koepka then left his birdie putt on the 17th woefully short and did well to save par, but was unable to repeat the feat on the last to hand Mickelson a welcome advantage.
As Mickelson had threatened to match Rory McIlroy's runaway victory at Kiawah in 2012, McIlroy's day was already over following a disappointing third round of 74 to finish five over par.
Asked what he needs to improve, the pre-tournament favourite said: "It's being a little tidier around the greens, it's hitting a few more fairways.
"It's taking some of your chances when you do hit good iron shots, instead of making the pars, you make the birdies. Just getting some momentum. I just feel like I haven't had any momentum this week.
"When you start the way I did today with a bogey and then you don't make a birdie on the second hole, you're just always trying to play catch up, and it's hard to on this golf course because there's very few opportunities where you can be really aggressive."