The two title contenders will start Sunday's race on different strategies after Verstappen used the softs to go through Q2, where Hamilton progressed on the mediums, and they will start ahead of McLaren's Lando Norris with their respective teammates down in fourth and sixth.
On the first Q3 runs, Red Bull sent Perez out ahead of Verstappen and ordered him to push to create a gap while Verstappen carefully prepared his tyres, with Perez then moving out of his teammate's way on the approach to the new Turn 9 long left hairpin at the end of the track's second straight.
The tactic worked brilliantly for Verstappen, who set a 1m22.109s that put him 0.551s clear of Hamilton after the Mercedes driver completed his opening run, which featured a lock-up at the new Turn 5 hairpin at the start of the second sector.
Mercedes opted to head the pack for the final runs, where Hamilton improved, but shipped more time to Verstappen's existing as his lap unfolded, to wind up 0.371s adrift.
Red Bull didn't repeat the tow tactic on the second Q3 runs, with Perez staying ahead of Verstappen all the way around as he set a personal best that still left him behind Norris's 1m22.291s.
Verstappen ended up slower than his first time on his second run, but it did not matter.
Carlos Sainz took fifth for Ferrari, ahead of Valtteri Bottas, who ran behind Hamilton on both runs for Mercedes in Q3, as the Black Arrows squad did not try a tow strategy.
Charles Leclerc took seventh ahead of Yuki Tsunoda, who lost a quicker lap on his first run in Q3 for running too wide out of the final corner, where the FIA is hotly policing track limits.
Esteban Ocon finished ninth ahead of Daniel Ricciardo, with both drivers facing post-qualifying investigations for possible impeding incidents involving Sebastian Vettel, with Ocon's occurring in Q1.
Q2 ended with chaotic scenes ahead of the final runs, where Verstappen switched to the softs after locking up on the set of mediums he had been running in the early part of the middle segment and flat-spotting the left front, the Dutchman using the red-walled rubber go quickest at that stage.
The pack were sent out en masse and things got so crowded at the final turns that Vettel stopped on the track just past the Turn 14 left where Kimi Raikkonen crashed in FP2.
He got going again but was eliminated in 15th, with Fernando Alonso the highest profile faller – the Alpine driver also annoyed by traffic late in his final lap as he came across Ricciardo going through the final corner in an incident that will be investigated after the session.
Ricciardo's last-gasp improvement then knocked out Alonso, who finished ahead of Pierre Gasly, Lance Stroll and Antonio Giovinazzi.
Gasly, who also faces a post-session investigation alongside Vettel for an incident that involved them getting in each other's way on the pit straight during the middle part of Q2, felt his brakes were too cold on his final run.
Q1, which Hamilton topped, was interrupted by a short red flag after Mick Schumacher knocked a bollard from inside the apex of the final corner, with Norris then sending it up into the air after it was sucked under his front wing when he subsequently came by.
But once it was retrieved the action got going again, with Stroll's last lap knocking out Nicholas Latifi in 16th.
Latifi ended up ahead of George Russell, who's excellent qualifying record for Williams ended on a down note as he was eliminated in 17th, ruing his tyres being "absolutely nowhere" and criticising his team's run plan late in the opening segment.
Raikkonen's final F1 qualifying session ended with him 18th in the second Alfa, the Finn pitting with a few seconds remaining ahead of the chequered flag falling.
The two Haas cars brought up the rear of the field once again, with Schumacher, who had two trips through the Turn 1 runoff during Q1, ending ahead of Nikita Mazepin.
|1||Max Verstappen||Red Bull||1'22.109|
|4||Sergio Perez||Red Bull||1'22.947||0.838|
|5||Carlos Sainz Jr.||Ferrari||1'22.992||0.883|
|13||Lance Stroll||Aston Martin||1'24.066||1.957|
|14||Antonio Giovinazzi||Alfa Romeo||1'24.251||2.142|
|15||Sebastian Vettel||Aston Martin||1'24.305||2.196|
|18||Kimi Raikkonen||Alfa Romeo||1'24.779||2.670|
|View full results|