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.
Puzzle-maker slips 'Murdoch Is Evil' into Rupert Murdoch's Sunday Telegraph
N.J. man wakes up from 10-hour sleep with knife in back