The Argentine gained the initiative early on, before going on to hold his nerve in the closing stages to seal a 6-2 6-4 victory.
Having performed well on the hard courts for the majority of the season, this time around Nadal made numerous unforced errors in the opening set. Del Potro took full advantage as he broke on two occasions to open up a one-set advantage in 46 minutes.
The second set was much more competitive, but Nadal continued to struggle to make any inroads on the Del Potro serve.
Having broken his Spanish opponent early on, the 2009 US Open champion had the chance to serve for the match at 5-4 and he duly obliged to set up a meeting with Serbian Novak Djokovic in tomorrow's final.
Del Potro, who has now qualified for the season-ending World Tour Finals at London's O2 Arena, has never previously won an ATP 1000 Masters title.