Ian Poulter birdied six of the first seven holes, but still had four strokes to make up on Rory McIlroy as the USPGA Championship headed towards its climax at Kiawah Island.
After a morning 74 left him with a mountain to climb - he was among 26 players unable to finish the third round on Saturday - Poulter went into overdrive and climbed from joint 10th to second on his own at seven under par.
But he then bogeyed the short eighth and McIlroy regained his grip on the final major of the season with birdies of his own at the second, third and long seventh.
Four years ago, of course, Poulter finished runner-up to another Irishman - Padraig Harrington - in The Open at Birkdale. That earned him a Ryder Cup wild card, whereas this time he was forcing his way into Jose Maria Olazabal's side for Chicago next month.
But it was still McIlroy, last year's US Open champion, on course for his second major at the age of 23 years three months - four months younger than Tiger Woods was when he grabbed number two of 14 at the 1999 USPGA.
McIlroy won his first by eight shots, but this one promised the extra satisfaction of beating a chasing Woods.
Not in Washington last June because of injury, Woods was in a tie for fourth with 10 holes to go alongside Ireland's Padraig Harrington, who with three successive birdies just before the turn was doing all he could to impress Olazabal.
Poulter continued his brilliant round by pitching to four feet on the long 11th and when he made a nine-footer at the next - it toppled in on its final roll - he was only two behind again.
But just when Poulter wanted to pile on the pressure he slipped up. A pulled approach to the 13th led to one bogey and missing the green on the short 14th brought another.
McIlroy's pars on 10 and 11 - the first of them after a superb recovery from the sand - took him four in front once more, while Poulter was still alone in second as Pettersson had bogeyed the 10th.