Verstappen ended up with pole after reversing Leclerc's advantage from the opening Q1 runs, with the session marred by fans throwing flares onto the Zandvoort track, causing Q2 to be briefly suspended.
Leclerc led Verstappen by 0.059s after the first Q3 runs, with the 2022 frontrunners converging on pace after Red Bull's tricky start to the weekend.
The Ferrari driver set the quickest times in the first and last sectors on his final lap, but being unable to replicate his best time in the middle part of the track cost him dear.
This was because Verstappen roared to a purple sector and ended up with a best time of 1m10.342s, 0.021s quicker than his rival.
Carlos Sainz slotted into third just before Perez spun at the end of his final lap – the Mexican driver dipping his left-side wheels into the gravel at the exit of the penultimate corner and spearing around to the inside of the banked final turn.
That meant the following Mercedes drivers were obliged to lift off and so Lewis Hamilton ended up fourth with Perez fifth ahead of George Russell.
Lando Norris took seventh ahead of Mick Schumacher and Yuki Tsunoda, while Aston Martin's Lance Stroll finished 10th after being unable to run in Q3 due a technical issue on his car.
Stroll's mechanics were spotted inspecting the front damper area of his AMR2022 before Q3 began – the final segment featuring flare smoke blowing from the pit exit but covered by a brief yellow flag ahead of the final runs.
Q2 was suspended shortly after it had begun when another lit flare from the grandstands overlooking the exit of Turn 12 and the last part of the track's stadium section was thrown on the track.
The FIA, which said the person who threw the flare "identified and removed by event security", suspended the action until it went out and could be removed.
During the stoppage, the marshals at Turn 7 attempted to clear pigeons that had settled on the inside of that corner, which Alex Albon had noted as he ran solo at the start of the middle segment before the flare had to be cleared.
The Q2 action resumed after a six-minute delay and when it ended Pierre Gasly ended up as the highest-placed runner eliminated in 11th – despite setting a personal best time on his final flier.
That meant Tsunoda survived to reach Q3, with Esteban Ocon likewise knocked out after producing his best time at the end of Q2.
Fernando Alonso trailed his Alpine teammate in 13th, but put the blame for his early exit on encountering Perez going slowly on an in-lap through the Turn 9 double apex right-hander.
Zhou Guanyu finished 14th for Alfa Romeo, with Albon shuffled back from 10th to 15th after completing his final lap well ahead of the rest in the closing Q2 minutes.
In Q1, Gasly's late improvement knocked out Valtteri Bottas in the second Alfa, with Kevin Magnussen, initially out in 17th but was soon dropped to 18th as his flirtation with track limits at the Hugenholtz on his final flier went too far and the FIA deleted his effort.
That meant Daniel Ricciardo finished 17th when teammate Norris had got through the opening segment in fifth, while Sebastian Vettel ended up back in 19th after making a major error on his last lap.
Just after he had set a then fastest time in the first sector and his quickest middle sector of Q1, Vettel could not hold an oversteer snap through the penultimate corner and so slid wide and into the gravel trap on the exit.
Nicholas Latifi finished last for Williams.
Cla | Driver | Chassis | Engine | Time | Gap | |
---|---|---|---|---|---|---|
1 | |
![]() |
Red Bull | Red Bull | 1'10.342 | |
2 | |
![]() |
Ferrari | Ferrari | 1'10.363 | 0.021 |
3 | |
![]() |
Ferrari | Ferrari | 1'10.434 | 0.092 |
4 | |
![]() |
Mercedes | Mercedes | 1'10.648 | 0.306 |
5 | |
![]() |
Red Bull | Red Bull | 1'11.077 | 0.735 |
6 | |
![]() |
Mercedes | Mercedes | 1'11.147 | 0.805 |
7 | |
![]() |
McLaren | Mercedes | 1'11.174 | 0.832 |
8 | |
![]() |
Haas | Ferrari | 1'11.442 | 1.100 |
9 | |
![]() |
AlphaTauri | Red Bull | 1'12.556 | 2.214 |
10 | |
![]() |
Aston Martin | Mercedes | - | |
11 | |
![]() |
AlphaTauri | Red Bull | 1'11.512 | 1.170 |
12 | |
![]() |
Alpine | Renault | 1'11.605 | 1.263 |
13 | |
![]() |
Alpine | Renault | 1'11.613 | 1.271 |
14 | |
![]() |
Alfa Romeo | Ferrari | 1'11.704 | 1.362 |
15 | |
![]() |
Williams | Mercedes | 1'11.802 | 1.460 |
16 | |
![]() |
Alfa Romeo | Ferrari | 1'11.961 | 1.619 |
17 | |
![]() |
Haas | Ferrari | 1'12.041 | 1.699 |
18 | |
![]() |
McLaren | Mercedes | 1'12.081 | 1.739 |
19 | |
![]() |
Aston Martin | Mercedes | 1'12.391 | 2.049 |
20 | |
![]() |
Williams | Mercedes | 1'13.353 | 3.011 |
View full results |