Two-time IndyCar champion Dixon led for 44 laps and finished ahead of Simona De Silvestro as the event concluded under caution, cutting Castroneves' series lead from 49 points to just eight with two races remaining.
Dixon -- who marked his fourth victory of the season -- was helped as Castroneves ended with a season-worst, 18th-place finish after spending nine laps on pit lane for repairs to a faulty gearbox.
De Silvestro's second-place finish earned him his first career podium appearance.
Justin Wilson, Simon Pagenaud and Josef Newgarden rounded out the Top 5.
Millions of Getty images now available for free via embed tool
Ray Liotta sues skin care company over use of likeness