'I had those three aces in the tiebreaker to get back into it,' said Murray, who earned his 50th win of the season. 'Juan Martin served unbelievably in the first two sets.
'He really made me run. But I knew he had played a lot of long matches in the last two weeks so I hung tough.
'I tried to stay in it to the end. It was tough conditions for both of us out here.'
Del Potro said that he just didn't have the gas to finish the job on a day of 30 Celsius temperatures. 'I fought until the end but I couldn't go past Andy,' said the 20-year-old, still 6-2 in career finals.
The final was the youngest in Canada final since 2003 when 20-year-old Andy Roddick beat 21-year-old David Nalbandian, who was the last Argentine into the final north of the US border.
Murray becomes the first British player in tournament history to capture the title while Del Potro failed to duplicate the 2002 Canada triumph of countryman Guillermo Canas.
Murray stands 13-6 in career finals as he heads into the final stretch before the US Open.
The Scot has title points to defend in Cincinnati and lost the US Open final a year ago to Federer.