Franchitti avoided a seven-car pileup on the first lap en route to a 0.25-second win over Ryan Briscoe.
"Track position was critical today," said Franchitti, who started on the pole. "It probably wasn't the most interesting race for the fans, but I did what I had to do today."
Defending champion Helio Castroneves finished 18th.
Briscoe leads Franchitti by four points in the race standings with three events to go. Scott Dixon is in third place.
Dixon also has four wins this season. Briscoe has been a runner-up seven times.
Teacher apologizes for showing sexual image of herself in class
Senate Democrats to pull all-nighter on climate change