The 36-year-old Swiss, who has lost only four times in 2017, was again in imperious form as he won in 72 minutes.
It was his 4th win of the year against Nadal and his 5th in succession over the Spaniard.
The 19-time Grand Slam winner cut his deficit against Nadal to 23-15.
It moves him level with Ivan Lendl in terms of Open era titles with 94.
Only American Jimmy Connors has more with 109