Castroneves moved up from the sixth spot to take the lead from Marco Andretti on lap 97, then held on for his 28th career IndyCar victory -- 12th on the all-time winners list.
The Team Penske driver also won in Texas in 2004, '06 and '09. With Saturday's victory, he broke a tie with Sam Hornish Jr., for the most IndyCar wins at the Fort Worth track.
Defending IndyCar champion Ryan Hunter-Reay claimed second, ending 4.7 seconds off the pace.
Indianapolis 500 winner Tony Kanaan ended up in the third spot, followed by Ed Carpenter and Andretti, who fell 22 points behind Castroneves atop the points leaderboard.