In the mix all day during a record 68 lead changes, Kanaan dipped inside defending IndyCar champion Ryan Hunter-Reay on a restart with three laps to go.
From there, he cruised to Victory Lane under the yellow caution flag, flipping up his visor to wipe tears from his eyes as the crowd roared.
"I have to say, the last lap was the longest lap of my life," the popular Brazilian said.
"I got a little bit of luck today," said Kanaan, drenched in the celebratory milk. "I was looking at the stands, and it was unbelievable. I'm speechless. This is it, man. I made it."
Kanaan had his fair share of chances to win at Indianapolis Motor Speedway, but came up short time and time again. He was leading when the rain came in 2007, only to lose to Dario Franchitti when the race resumed.
In all, Kanaan went into Sunday's race with 221 laps led -- more than any other non-winner except Michael Andretti and Rex Mays -- but his second-place finish to Buddy Rice in 2004 was the closest he had come to victory. He had a pair of third-place finishes, including last year, again to Franchitti.
This time, it was Franchitti whose crash brought out the final caution to seal Kanaan's victory.
"It's wonderful for him," said Mario Andretti, himself a victim to bad luck at Indy. "He's raced here long enough that he deserves it, no question. He was strong all day. Certainly he deserves this in every way."
The win for Kanaan and car owner Jimmy Vasser was celebrated throughout the paddock as the losers all enjoyed seeing the popular IndyCar duo celebrate. Alex Zanardi, who came from Italy to watch the Indianapolis 500 and gave Kanaan one of his 2012 London Paralympics medals as good luck, wept behind the pit wall as Kanaan took the checkered flag.
"I tell you I'm starting to think (the medal) really works," Zanardi said. "It's a dream come true to see Tony win, to see Jimmy Vasser win, my dear friend. I'm so happy, I'm so happy."
Fellow Brazilian Helio Castroneves, shooting for a record-tying fourth Indy win, was happy for his long-time friend.
"Finally he's able to win this race. He's so close so many times, but the good news is the good old boys are still able to run fast," Castroneves said.
Carlos Munoz, a 21-year-old rookie making his first IndyCar start, finished second and Hunter-Reay was third.
"He's certainly someone I'd want to see win it if I can't win it myself," Hunter-Reay said. "We were a sitting duck on the last restart, that's all I can say."
The leaders came to the finish line all bunched up around Kanaan, saluting the longtime IndyCar stalwart who had longed to add the one missing piece to his resume. That was about as slow as anyone had driven all day. The average speed was 187.433 mph, another Indy record.
Marco Andretti finished fourth, failing to win for the eighth time, and Justin Wilson was fifth in the highest-finishing Honda on a day that was dominated by Chevrolet. Castroneves was sixth.
For a time, it appeared the win would go to AJ Allmendinger, who led 23 laps in his Indy 500 debut for Roger Penske.
Fired by Penske from his NASCAR ride last year after failing a NASCAR drug test, Penske gave him a second chance with this IndyCar opportunity. Seven years after leaving open-wheel racing, Allmendinger finally ran "The Greatest Spectacle in Racing" and was leading when his seat belt came undone, forcing him to pit.
It put Allmendinger off the pit cycle, and he was forced to stop for gas twice far in advance of the rest of the field. It meant Allmendinger had to drive his way back to the front each time, and he finally sputtered out at seventh.
"Once I figured it out, it was phenomenal. I could drive by guys at will when I wanted to," Allmendinger said. "I felt like we were up front running our own race, and, I don't know, belts come undone. It just popped.
"I'll be honest, pretty special moment to be leading at Indy. My body kind of went numb, my mind was racing and I could feel my heart beating really fast, and that's a special moment I'll never forget."
A year after 34 lead changes and a frantic finish created an Indianapolis 500 many considered to be the best ever, IndyCar had its hands full in trying to top itself.
So this one, with the slicing and dicing at the front, over and over and over again, might have been even better. There were a record 68 lead changes by 14 drivers.
"It was a hell of a race. That's all I can say," said Mario Andretti. "This is riveting competition, that's all I can tell you. It's just amazing. The reliability of the cars is there. The product is there. It's unbelievable racing, the best I've seen in years."