The 19-time Grand Slam champion took one hour and 12 minutes to secure his fifth successive triumph over the Spaniard, who was aiming to extend his 16-match winning streak.
Federer got off to the perfect start under the closed roof, securing an early break in the opening service game to take the initiative in the encounter.
Nadal started getting on the board with his own serve but was unable to make progress against his opponent's serve and failed to bring up a break point opportunity during both sets.
Federer, who has only suffered four defeats this year, sealed the opening set with his fifth ace of the set before breaking Nadal's serve in the fifth game of the second set.
The Wimbledon champion brought up a 5-3 lead in the second set and closed out the match with a third break of the match when Nadal pushed a forehand into the net.
By winning his second title in Shanghai, Federer also took his winning streak against world number one Nadal to five matches.