Dixon spun backwards into the wall on turn four but emerged from the wreckage unscathed and was later cleared by medics.
Ryan Hunter-Reay became the first American to win the prestigious race since 2006, passing Castroneves at the beginning of the final lap and holding on to narrowly beat the Brazilian to the line.
In claiming his first success at the Indy 500, Andretti Autosport driver Hunter-Reay, who won the IndyCar series title in 2012, denied Castroneves a fourth triumph at the event.
Mario Andretti rounded off the podium places in third, while Carlos Munoz was fourth.
Sixth place went to Kurt Busch, a man bidding to become the second driver to complete the Indy 500 and NASCAR's Coca-Cola 600 in the same day.
But the plaudits belonged to Hunter-Reay, who came from a qualifying position of 19th to claim glory.
"It's a dream come true. I can't even believe it. It hasn't even sunk in yet," Hunter-Reay told ESPN.
"This is just the most fantastic team, the support they've given me to give me this race car two years in a row to have a shot at winning the greatest race in the world. A dream has come true today.
"I knew we had a good race car. We didn't qualify well but we ran to the front and I was just biding my time, making the right adjustments on the stops.
"We did everything right today and that's what it takes to win this race. This is as big as a championship for me."