Zach Johnson fired a two-over 72 that included a two-shot penalty at the final hole to win the Crowne Plaza Invitational, denying Jason Dufner a third US PGA victory this season.
On a day of dramatic swings in the duel between Johnson and Dufner, Johnson appeared to be home and dry after Dufner's triple-bogey seven at the par-four 15th.
That gave Johnson a four-shot lead, and even after a bogey at 16, the 2007 Masters champion arrived at 18 with a three-stroke lead.
He had celebrated what he thought was a par for a three-shot win but then realized he had moved his ball marker on the 18th green and failed to replace it properly.
With the two-shot penalty, Johnson signed for a 72 and a 12-under total of 268 -- giving him only a one-shot victory over Dufner.
"There's a number of adjectives I'm calling myself right now. And lucky would be the biggest one," said Johnson, who won for the first time since claiming the same title two years ago.
"Blessed would be another one, humbled would be another one. It's an honor to put this jacket on once. ... I'm in shock I got it twice."
Dufner, who won his first US tour title in his 163rd try on April 29 in New Orleans and won again at the Byron Nelson Classic last week, started the day with a one-shot lead over Johnson.
But he faded down the stretch, finishing with a four-over 74 that included a double-bogey and two bogeys.
Johnson called Dufner's performance in recent weeks "beyond impressive."
"I kind of feel like I somewhat unseated a king to me because he has been on top for four weeks," Johnson said.
Dufner's challenge was undone for good at 15, where his approach shot rolled off the green and into the water.
His chip from a drop in the rough rolled off the green, and his four-foot putt for a double-bogey burned the edge of the cup.
Dufner had surrendered his overnight lead at the second hole with a bogey from a fairway bunker as Johnson birdied to seize a one-shot advantage.
Back-to-back birdies at five and six saw Dufner regain the lead, and he moved two ahead with a par at the par-3 eighth, where Johnson missed the green en route to a bogey.
Dufner's lead was erased, however, when he took a double-bogey at the par-4 ninth, where he was in the water.
Johnson pulled two strokes ahead at the par-5 11th, where he got a break as his tee shot kicked off a tree to land in the fairway, while Dufner's shot on a similar line ends up under the trees. Dufner took bogey and Johnson emerged with a birdie.
At the next hole, however, Johnson saw his lead erased with another two-shot swing. Johnson's first attempt to get out of a fairway bunker hit the lip and curled straight back toward him. He was short of the green with his third shot. A fine chip left him a tap-in for bogey, while Dufner rolled in an eight-foot birdie putt.
Johnson edged ahead with his last birdie of the day at 14, which proved enough after Dufner's disaster at 15.
"I just didn't have it today," said Dufner, who squeezed in his wedding between his two recent tour wins. "It has been a pretty exciting month or so of golf and personal things.
"I'm not going to use that as an excuse. I just couldn't get the ball in the fairway."
Even so, Dufner was comfortably in front of third-placed Tommy Gainey, who had six birdies and overcame a double-bogey six at the 12th en route to a three-under 67 for 273.
Jim Furyk was fourth with a 68 for 274.