The Japanese driver went for the lead going into the first turn, pulling even with Franchitti. But he went in too low, and the crash sent him into the outside wall. Sato's car barely missed Franchitti, who coasted across the line under a yellow caution flag to become the 10th driver to win at least three Indy 500s.
Franchitti's teammate, Scott Dixon, finished second. Tony Kanaan, who had the lead off the last restart with six laps to go, settled for third on a blistering day at the Greatest Spectacle in Racing. The official race temperature was 91, one degree shy of the record set in 1937.
In the winner's circle, Franchitti donned a pair of white sunglasses to honor Dan Wheldon, who won the 500 a year ago but was killed in a crash at Las Vegas in the final race of the 2011 season. The crowd of more than 200,000 also donned white glasses on the 98th lap - matching the number of Wheldon's winning car.
"I want to thank all the fans for saluting our Dan today," said Franchitti, who was one of Wheldon's closest friends. "What a race."
This was the second year in a row that a crash on the final lap affected the outcome. In 2011, rookie JR Hildebrand was leading going into the final turn when his car slammed into the wall, allowing Wheldon to cruise past and take the checkered flag.
"I was side by side with Takuma," Franchitti said. "We hit and I managed to keep it out of trouble."
Marco Andretti had the strongest car early in the race, dropping back because of handling issues. He was fighting his way back to the front when he crashed with 13 laps to go. That set up a six-lap shootout for the win, and another heartbreak for one of Indy's most famous families.
Kanaan was ahead when the green flag waved, but the two Ganassi cars quickly blew by him for the lead. In all, there were a record 35 lead changes, six more than the previous high set in 1960.