World number one Tiger Woods fired a superb back nine at the USPGA to finish two under and a tie for fourth place.
The American, who started Sunday six off the lead, began disastrously, bogeying the first and third holes.
But a brilliantly holed chip from the bunker on the seventh proved a catalyst as he went on to fire five birdies.
His 68 made him the clubhouse leader when Sunday's play was suspended because of storms and in the end he was just two behind winner Phil Mickelson.
Woods had been bidding to become the first player to win three majors in a season on two occasions.
He had to birdie the 18th on Friday just to make the cut, but staged a spirited fightback since then, shooting a 66 on Saturday before his final-round 68.
Woods, who tied with Davis Love for fourth place, was frustrated by his lack of consistency during the tournament.
The 29-year-old said: "I worked my butt off to get back in this thing. I hit some bad shots early and then tried to grind my way back into the championship.
"It's just one of those weeks where I didn't have it for 18 holes every day."