This finishing second place by one stroke is starting to get a bit old for Zach Johnson at the John Deere Classic.
For a second straight year, Johnson was the runner-up by one shot, this time losing to Brian Harman, whose final round 66 put him 22-under, a stroke ahead of Johnson, who fired a 64 to reach 21-under.
Harman wiped out his two bogeys on the day with an eagle on No. 2, and added five birdies, including three in a row in a pivotal stretch on No. 14 -16 to give himself the title.
He bogeyed No. 18 after Johnson birdied 17 to make things a little closer than they really were. Harman wins $846,000 and 500 FedEx Cup points for his win.
Johnson scarcely could have played much better, playing a round with seven birdies and not a single bogey, and shooting two rounds under 65 on the tournament.
Defending champion Jordan Speith wound up tied for seventh at 16 under thanks to his final round 66. After struggling to an even par 71 on Thursday, Spieth had rounds of 64, 67 and 66 the rest of teh way.