The race for the IndyCar title tightened significantly with one race left in the season.
Rossi, who won last year's Indianapolis 500 and just inked a contract extension with Andretti Autosport, notched his second career win by keeping Dixon in his rearview mirror over the final 14 laps, winning for the second time in the series by just under a second.
Points leader Josef Newgarden of Team Penske started third and remained in contention until a crash exiting the pits ruined his day. He finished 18th, two laps down.
Dixon cut Newgarden's 31-point lead to three as the series heads to the road course at Sonoma for the finale, which is worth double points. The 42-year-old Castroneves is third, another 19 points behind in his quest for that elusive first career title.
Rossi's banner weekend -- he edged Dixon on Saturday for his first career pole -- took a hit on lap 24, but it was brief thanks to some good fortune. He had fuel filler problems and had to pit off sequence from the lead, and a 12-second stop left him back in 18th as teammate Hunter-Reay took over the top spot.
But when the third caution flew one lap later, Rossi regained the lead after the rest of the leaders pitted and led half of the 60-lap race.
The race for the title then took a dramatic turn when Newgarden pitted with 15 laps to go around the 11-turn, 3.37-mile natural terrain road course. He seemed in control of the points race after besting Penske Racing teammate Simon Pagenaud last week at Gateway Motorsports Park when an aggressive move in a late battle for the lead ended with his third victory in four races.
But Newgarden slammed the guard rail exiting the pits when his front tires locked up and he was slammed from behind by Sebastien Bourdais, breaking part of the rear of the No. 2 Chevy. That brought out a caution and Newgarden had to pit again, his crew frantically working on the car as he fell two laps down.
Rossi led Dixon on the final restart and it became a two-car race over the final laps between a four-time winner at Watkins Glen and a driver racing at the famed road course for only the second time, but Dixon never threatened.
Rain that was forecast never materialized, although the race began with the teams on rain tires due to moisture on the track from earlier showers.