The Brazilian cruised home under a caution after defending champion Dario Franchitti crashed into the wall during the shootout, capping a furious contest that saw an amazing 68 lead changes -- double the former record of 34 set last year.
Kanaan wrested the advantage away from Ryan Hunter-Reay just after the final restart.
Hunter-Reay, the defending IndyCar champ, ended up in third place after being passed down the stretch by rookie Carlos Munoz.
Franchitti, who was seeking a fourth Indy 500 title, ended up finishing 23rd after the late crash.
Notable deaths of 2014 [PHOTOS]
Michael Sam cut from the Dallas Cowboys