Listen to this article
The Andretti driver posted a two-lap average of 189.267mph to claim the top spot, just edging out the 189.215mph effort produced by Carlos Munoz.
"This year has had a lot of learning experiences for us," Veach said. "But for us to get the pole in the last race of the season, it says that we've learned a lot and hopefully we can do a lot better tomorrow in the race and carry that momentum into the off-season."
Championship contender Gabby Chaves settled for third with an average of 189.215mph, while his title rival Sage Karam was left back in seventh after struggling with an engine problem.
But the Schmidt driver remained optimistic about his chances in the race.
"We have an engine issue right now," said Karam, who leads Chaves by 16 points. "But the big thing is that Gabby isn't P1.
"[Fontana] is a good place to pass, so I'm not too worried."
Pos Driver Team Speed 1. Zach Veach Andretti 189.267 2. Carlos Munoz Andretti 189.215 3. Gabby Chaves Schmidt 189.043 4. Juan Pablo Garcia Belardi 188.177 5. Jack Hawksworth Schmidt 187.546 6. Kyle O'Gara Schmidt 187.410 7. Sage Karam Schmidt 187.372 8. Jorge Goncalvez Belardi 187.317 9. Giancarlo Serenelli Belardi 184.664 Grid set by average speed over two-lap run
Houston Indy Lights: Sage Karam wins as rivals flounder
Fontana Indy Lights: Sage Karam takes title, Carlos Munoz wins