The Englishman won his seventh European Tour title by three strokes from Jon Rahm
Danny Willett Wins BMW PGA Championship
The Englishman shot a closing 67 (-5) to reach 20 under par for the week and beat the Spaniard by three strokes.
Willett was two clear with one to play and birdied the final hole to extend the margin to three.
It is his first pro victory on British soil and his first win since last year’s DP World Tour Championship.
He moves up to 31st in the world.
Willett and Rahm began the day tied at 15 under and the Englishman got off to a hot start with birdies at the 2nd and 3rd before another at the 8th.
Watch: Willett’s birdie on 8
The 2016 Masters champion then found the greenside bunker on the par-4 9th and his sand-save was a signal of intent to his playing partner that he wasn’t going away.
Rahm was one under for the day and two back at that point and was looking like drifting further behind after Willett stuck it close on the par-3 10th.
Rahm rolled in a 25 footer for birdie to keep the pressure on Willett who duly converted his birdie putt too.
The 11th was a huge hole for the tournament after Willett pushed his drive well right onto the 7th hole and caught a tree with his pitch back into the fairway.
His ball found heather and he could only hack it out into the bunker in front of him.
The Englishman then found the green with his fourth shot and holed a 40 footer to save a miraculous bogey.
Watch: Willett’s incredible bogey on 11
Rahm parred and then messed up the 12th after his pitch shot to the par-5 rolled back off of the front of the green and his par putt slid by after chipping on.
The Spaniard bounced back with a birdie on the 13th but handed it straight back at 14 after coming up short in the bunker on the par-3.
Willett, on the other hand, was playing solid golf and showing no sign of pressure, parring 12, 13, 14, 15 and 16 before birdieing the par-5 17th.
Rahm also birdied 17 to stay within two of his playing partner, but the gap at the end of the day was three after he could only par the last when his second shot found the water.
Willett hit a huge drive down the middle and made an easy two-putt birdie after a great long iron approach.
Related: Danny Willett What’s in the bag?
It was a brilliant week for South African Christiaan Bezuidenhout who finished in 3rd at 16 under par after making just three bogeys for the entire tournament.
The 25-year-old won his maiden European Tour title at the Valderrama Masters in June and looks to be a huge talent.
Billy Horschel shot the round of the day, equalling the lowest round of the week with his second 65 of the tournament.
The American finished in T4th with his countryman Patrick Reed at 15 under.
Rory McIlroy shot 15 under for his final three rounds after his opening 76.
The World No.2 finished in T8th at 11 under par thanks to a closing 67 (-5).
BMW PGA Championship final leaderboard:
1 Danny Willett -20
2 Jon Rahm -17
3 Christiaan Bezuidenhout -16
4 Billy Horschel -15
4 Patrick Reed -15
6 Richie Ramsay -13
6 Rafa Cabrera Bello -13
8 Rory McIlroy -11
8 Andrew ‘Beef’ Johnston -11
8 Justin Rose -11
11 Shane Lowry -10
11 Paul Casey -10
11 Viktor Hovland -10