Del Potro got the only break of the match to go up 6-5 in the second set and then held serve to win the match in 1 hour, 46 minutes.
The Argentine, who was a runner-up to Tomas Berdych here in 2008, converted his second match point in the final game, hitting a forehand past Raonic at the net to secure the title.
"I played really well in the last two games of the match," Del Potro said. "I broke his serve and closed out in a fantastic way and hopefully I can keep it going for the rest of the season."
The third-seeded Raonic, who was coming off a win at the Thailand Open last week, hit 17 aces but came up short in his second straight appearance in the Japan Open final. He lost to local favorite Kei Nishikori last year.
The 22-year-old Canadian put pressure on del Potro's serve in the first set, but could not capitalize on three break point opportunities. Del Potro bounced back from an 0-2 deficit in the tiebreaker and got a break when Raonic double-faulted to give del Potro a 6-4 lead.
Raonic fended off del Petro once, but the Argentine aced the next point to win the set.
"There is nothing really to be down about," Raonic said. "Maybe the double fault in the tiebreak and then later in the match to break me he gets four winners so there is not much I could have done there to play better."
Raonic saw his eight-match winning streak come to an end. He has moved steadily up in the world rankings but said he was more concerned about his overall progress in competing against the world's top players.
"The improvement in the rankings is icing on the cake," Raonic said. "The important thing to me is getting better as a player. As long as I can do that, I will give myself more opportunities like this."
Del Potro, the 2009 U.S. Open champion, was a late addition to the tournament after Andy Murray withdrew due to a back injury.
"I decided to come here because I lost early in the U.S. Open and had several weeks off," said Del Potro. "I'm glad I decided to come here."