During their last flight tours, Bottas improved his time in the first sector, then slipped into the gravel at the exit of turn 4 – later turning on the grass as he returned to the runway – while that Hamilton seemed to be improving.
The world champion did his best at 1m02.951s but found himself second on the grid for the race after having passed the three practice sessions.
Verstappen took third place, but will start the race on mediums after crossing Q2 on the yellow-walled rubber, Norris rising to fourth with a superb final effort in his MCL35.
Alex Albon qualified fifth in the second Red Bull ahead of the highly imagined RP20 of Perez, who nevertheless beat Charles Leclerc of Ferrari in P6.
Leclerc was the only Ferrari racer in Q3 after Sebastian Vettel had not passed Q2, but the polisher of the 2019 Austrian GP found himself almost a second slower than Bottas’ time.
Carlos Sainz took the P8, Lance Stroll and Daniel Ricciardo completing the top 10.
In the second quarter, as Bottas edged ahead of Hamilton, Sebastian Vettel was struck dramatically when Albon jumped in order with late improvement in the second segment.
Vettel had been in danger because he was only P10 after the first runs of Q2, and during his last effort, he bounced on the curbs at the first and last corners, sliding widely on each occasion and not improving in Consequently, with Leclerc in Q3 with P10 at the end of Q2.
Behind Vettel, Pierre Gasly led AlphaTauri, with teammate Daniil Kvyat in P13, ahead of Esteban Ocon – making his first appearance in F1 since the 2018 Abu Dhabi GP – and Romain Grosjean.
In Q1, which was overcome by Verstappen while Albon had a nervous wait as he was not fired for a final round in the opening segment, the latest improvements from the Haas drivers cost Williams a place for Q2.
Grosjean creaked his head in front of teammate Kevin Magnussen, while Russell, who was P15 before the last Q1 races, did not improve his last effort – losing perhaps due to an oversteer from the downhill right from turn 4 – and will start 17th.
Antonio Giovinazzi finished 18th after skating in the gravel trap of turn 4 in his last race, with Kimi Raikkonen behind in P19, ahead of rookie Williams Nicholas Latifi, who took the track immediately in Q1 to make up for lost time in his Crash FP2.