The New Zealander came from behind Saturday night at Kentucky Speedway, passing Helio Castroneves on the final straightaway to win the Meijer Indy 300.
It was the second win in a row and the record-tying sixth victory of the season for Dixon, trying to win his second IndyCar Series championship.
Castroneves, still trying for his first victory of the season and his first series title, tried to get it on fuel strategy. It looked as if Castroneves had it when he took the lead with six laps to go when Dixon, who had dominated most of the 200-lap race, was forced to make a fuel stop.
Dixon came out just over 6 seconds behind the Brazilian but steadily cut into the margin, finally passing Castroneves as the leader slowed coming off the fourth turn on the 1.5-mile oval, out of fuel.
"I knew he was a little bit slow and I could see us catching him, and to get him on the last corner was pretty fantastic," Dixon said.
"I think this is the view Dario had on the last lap in Chicago last year," added Dixon, referring to Dario Franchitti passing him on the last lap to win both the race and the championship last year in the season-finale.
It was the seventh second-place finish for the frustrated Castroneves.
"What an incredible strategy," Castroneves said, still able to smile. "I tried everything. Second seems to be my place, what can I say?"
Dixon also earned the three-point bonus for leading a race-high 145 laps and extended his series lead over runner-up Castroneves by 13 points to 78 with three races remaining.
The finish was almost as frustrating for Marco Andretti, also winless this season. The son of team co-owner Michael Andretti nearly passed Castroneves but wound up third after leading until he had to make his final pit stop on lap 189.
Vitor Meira, in the hunt throughout the race, finished fourth, followed by Dan Wheldon, Ed Carpenter, Ryan Briscoe and defending race winner Tony Kanaan. Danica Patrick, who had to start last after crashing in practice and missing Friday's qualifying, finished 11th, a lap off the pace.
NATIONWIDE SERIES: In Watkins Glen, N.Y., Marcos Ambrose took advantage of a fortuitous pit stop midway through the Zippo 200 at Watkins Glen International and easily beat Kyle Busch for his first career NASCAR victory.
Ambrose, from Tasmania, was in the pits on lap 42 when the fourth caution of the 82-lap race flew. He gained the lead on lap 48 but gave it up right away to top off for fuel.
Ambrose worked his way up to third with 12 laps to go as Jeff Burton and Jimmie Johnson battled for the lead.
But the two leaders ran out of fuel with less than four laps remaining and Ambrose coasted to the victory in the No. 59 JTG Daugherty Racing Ford.
"I just feel like a weight is off my shoulders, just a huge relief," said Ambrose, who was third last week in the rain in Montreal after leading the most laps and second on the road course in Mexico. "We've come close. We haven't been able to close the deal. I've had to be patient."
"He's been due," Busch said. "He was leading last week in the rain by nine seconds."
Matt Kenseth finished third, followed by Kevin Harvick and polesitter Dario Franchitti, who was back in a NASCAR race car for the first time in nearly a month. Franchitti, who lost his Cup ride with Chip Ganassi Racing last month because of a lack of sponsorship, led 18 laps in the first of seven Nationwide starts the former Indianapolis 500 champion will make this season for Ganassi.
Brad Keselowski was sixth and moved past Carl Edwards into second place in the series standings, 128 points behind leader Clint Bowyer.
Rookie Joey Logano finished seventh in his first race at Watkins Glen.