The Red Bull drivers were amongst just a handful of drivers to gain time on the second runs in Q3, where Ferrari's challenge failed to materialise and the Mercedes drivers ended up behind Aston Martin's Fernando Alonso.
Verstappen led the way on a 1m28.240s on the first Q3 fliers, where Norris was his closest challenger after producing a then session-best opening sector.
But he could not replicate that on the second attempts, where Perez, leading Verstappen on the track, snuck ahead of the McLaren, while the world champion in the other RB20 blitzed to a pole-securing 1m28.197s – largely thanks to a blistering first sector.
Behind the top three came Carlos Sainz for Ferrari, ahead of Alonso and Oscar Piastri in the other McLaren.
Lewis Hamilton looked to be getting close to Red Bull with his pace late in Q2 but faded to just seventh for Mercedes, with Charles Leclerc taking eighth.
The second Ferrari driver had a unique Q3 in producing just a sole flier ahead of the rest going for a second attempt, as he had to use a second set of tyres to escape Q1 earlier in qualifying.
Leclerc ended up over half a second down on Verstappen's time, but did edge George Russell and home hero Yuki Tsunoda.
In Q2, Tsunoda's improvement on his second go in the middle segment knocked out his RB team-mate Daniel Ricciardo, to the delight of the home crowd.
Nico Hulkenberg ended up 12th for Haas having lost his first Q2 run to going too wide between the two parts of Spoon Curve, with Valtteri Bottas ultimately out in 13th after sitting 10th following the first attempts.
Alex Albon only completed one run in Q2 for Williams at the end of the segment and took 14th ahead of Alpine driver Esteban Ocon, who escaped Q1 for the second race in a row.
In the opening segment, running offset ahead of the rest for the final runs boosted Albon to progressing in 15th, while Bottas's last-gasp improvement knocked Lance Stroll out of Q1 in 16th when Alonso was second at that stage.
Behind came Alpine's Pierre Gasly, who matched Leclerc in the first sector on their last laps in Q1 – the Ferrari driver having to burn an extra set of new softs here after initially ending up in the congested mid-pack after a poor opening sector on his Q1 first run – Haas driver Kevin Magnussen, Logan Sargeant (Williams) and Sauber's Zhou Guanyu.
Albon, Russell and Piastri face post-qualifying investigations – Albon for possibly going too slowly at one stage late in Q1, with the latter pair for an incident when Russell's car was released into Piastri's path when they exited the pits at the start of the session.
Cla | Driver | Car / Engine | Time | Delay |
1 | Max Verstappen | Red Bull/Honda RBPT | 1'28.197 | |
2 | Sergio Perez | Red Bull/Honda RBPT | 1'28.263 | 0.066 |
3 | Lando Norris | McLaren/Mercedes | 1'28.489 | 0.292 |
4 | Carlos Sainz | Ferrari | 1'28.682 | 0.485 |
5 | Fernando Alonso | Aston Martin/Mercedes | 1'28.686 | 0.489 |
6 | Oscar Piastri | McLaren/Mercedes | 1'28.760 | 0.563 |
7 | Lewis Hamilton | Mercedes | 1'28.766 | 0.569 |
8 | Charles Leclerc | Ferrari | 1'28.786 | 0.589 |
9 | George Russell | Mercedes | 1'29.008 | 0.811 |
10 | Yuki Tsunoda | RB/Honda RBPT | 1'29.413 | 1.216 |
11 | Daniel Ricciardo | RB/Honda RBPT | 1'29.472 | 1.275 |
12 | Nico Hulkenberg | Haas/Ferrari | 1'29.494 | 1.297 |
13 | Valtteri Bottas | Sauber/Ferrari | 1'29.593 | 1.396 |
14 | Alexander Albon | Williams/Mercedes | 1'29.714 | 1.517 |
15 | Esteban Ocon | Alpine/Renault | 1'29.816 | 1.619 |
16 | Lance Stroll | Aston Martin/Mercedes | 1'30.024 | 1.827 |
17 | Pierre Gasly | Alpine/Renault | 1'30.119 | 1.922 |
18 | Kevin Magnussen | Haas/Ferrari | 1'30.131 | 1.934 |
19 | Logan Sargeant | Williams/Mercedes | 1'30.139 | 1.942 |
20 | Zhou Guanyu | Sauber/Ferrari | 1'30.143 | 1.946 |