Trident Racing driver David Beckmann topped a spectacular GP3 Series qualifying session, as rain that fell during the session shook up the order.
The first set of runs featured a train of cars constantly usurping each other at the front, with the four ART Grand Prix cars running in formation while other teams mixed drivers in what looked like a NASCAR-style drafting test.
Most cars came in with 15 minutes to go for new tyres and to debrief, at which point it began to rain - particularly in the first sector.
For some time that appeared to have ruined the qualifying battle, which had been led by Nikita Mazepin ahead of Giuliano Alesi, Jake Hughes, Juan Manuel Correa and Beckmann.
But with four minutes to go, drivers started to improve, with Beckmann first jumping to second with three and a half minutes to go.
Championship leader Anthoine Hubert then took the top of the order almost immediately behind Beckmann.
But a lap later, Beckmann - who only switched to Trident two rounds ago from Jenzer - secured his second feature-race pole in a row, backing up his form from Spa last weekend.
Hubert held on to second, taking a great deal of solace in the fact he was 11th when the rain came out, which could have posed a threat to his 26-point lead in the standings.
Leonardo Pulcini's title aspirations were dented when a visor-tear off caused his Campos Racing-run car to overheat in the Spa sprint race, but he rebounded at home in Monza and will start Saturday's feature race from third, ahead of Correa and Alesi.
Pulcini has a chance to rebound after losing third in the points at Spa, as Mazepin - who replaced him in third in the standings - will start 11th after failing to improve late on.
Ilott - second in the championship - took sixth, ahead of Tveter and Tatiana Calderon, who had topped a 10-minute practice session held before qualifying to give drivers some track time after the morning practice was rained off.
She equalled her previous best GP3 qualifying, set at Jerez in 2017.
Pedro Piquet made a mistake on his final flying lap and was the last Trident driver in the top 10 in ninth, ahead of leading MP Motorsport's driver Niko Kari.
Hughes had to pit for fuel and could not do a final lap at the end of the session, and will start one place behind Mazepin in 12th.
After the session, Jannes Fittje - who replaced Beckmann at Jenzer Motorsport for Budapest - was disqualified from 13th as there was not enough fuel in his car to produce a post-race sample for scrutineers.
He will start Saturday's feature race from the pits.
|2||Anthoine Hubert||ART Grand Prix||1m37.970s||0.011s||14|
|3||Leonardo Pulcini||Campos Racing||1m38.158s||0.199s||13|
|4||Juan Manuel Correa||Jenzer Motorsport||1m38.181s||0.222s||14|
|6||Callum Ilott||ART Grand Prix||1m38.255s||0.296s||15|
|8||Tatiana Calderon||Jenzer Motorsport||1m38.333s||0.374s||15|
|10||Niko Kari||MP Motorsport||1m38.487s||0.528s||15|
|11||Nikita Mazepin||ART Grand Prix||1m38.586s||0.627s||14|
|12||Jake Hughes||ART Grand Prix||1m38.620s||0.661s||14|
|13||Simo Laaksonen||Campos Racing||1m38.850s||0.891s||13|
|14||Joey Mawson||Arden International||1m38.896s||0.937s||14|
|15||Richard Verschoor||MP Motorsport||1m38.965s||1.006s||14|
|16||Gabriel Aubry||Arden International||1m39.035s||1.076s||16|
|17||Diego Menchaca||Campos Racing||1m39.049s||1.090s||14|
|18||Julien Falchero||Arden International||1m39.109s||1.150s||16|
|19||Devlin Defrancesco||MP Motorsport||1m39.635s||1.676s||14|
|-||Jannes Fittje||Jenzer Motorsport||-||-||16|