Bottas edged Hamilton on their final runs as the world champion returned to qualifying action following his absence from the Sakhir GP after testing positive for COVID-19.

All three of the leading drivers will start Sunday's race on the advantageous medium tyres.

After the first runs had been completed in Q3, Bottas's 1m35.415s led the way by 0.104s over Verstappen, with Hamilton 0.135s adrift – losing time to a snap of oversteer exiting the Turns 5/6 chicane early in the second sector.

But the world champion quickly found time on his final Q3 run, looking as if he would get the jump on Bottas through the opening two sectors before losing time as the lap wore on.

Hamilton nevertheless jumped to provisional pole, but was shuffled back to second by Bottas's 1m35.271s before Verstappen stole ahead of the Mercedes duo on his own finale effort.

The Red Bull drive set the fastest time in the middle sector before hanging on with a personal best in sector three to take pole with a 1m35.246, 0.025s up on Bottas and 0.086s ahead of Hamilton.

Lando Norris took fourth for McLaren, securing his 2020 qualifying head-to-head against teammate Carlos Sainz, who finished sixth but will also start the race on the mediums.

Alex Albon split the McLarens in fifth, with Daniil Kvyat and Lance Stroll seventh and eighth.

Charles Leclerc qualified ninth but will shuffle back three places on the grid due to his Sakhir GP penalty for clashing with Sergio Perez and Verstappen, but he at least got through Q2 on the mediums.

Pierre Gasly rounded out the top 10 for AlphaTauri.

Esteban Ocon and Daniel Ricciardo were eliminated at the end of Q2, with the former shuffled down by Albon's late improvement.

Ricciardo did not have a time on the board ahead of his final Q2 lap after losing his first for running too wide at the exit of the last corner, but he went quicker in any case on his last lap, it just wasn't fast enough to get him any higher than 12th.

Sebastian Vettel's final qualifying session for Ferrari ended with the four-time world champion out in P13 and eliminated in Q2 for the 14th time in 2020.

Antonio Giovinazzi finished 14th, losing his last and best lap to track limits at Turn 21, the last corner, while Sergio Perez only appeared to register sector times during the mid-segment lull ahead of his back-of-the-grid start for taking a fresh engine in his Racing Point.

Perez ended the session in P15, but will drop back for the race tomorrow.

In Q1, Kimi Raikkonen was eliminated by Giovinazzi, who had lost the time from his first run for going too wide out of the penultimate corner, improving from last to 15th on his last run.

This result settled the 2020 intra-Alfa Romeo qualifying battle in Giovinazzi's favour, with Raikkonen failing to set a personal best time on his last run.

Behind them came Kevin Magnussen and Williams returnee George Russell, the pair improving on their last laps but unable to find a way out of Q1, with Russell unhappy with his tyre temperature.

Pietro Fittipaldi did not set a personal best on his last Q1 lap, nevertheless finishing 19th and ahead of Nicholas Latifi, who did not get to set a flying lap on his final run as he spun coming out of the final corner at the end of his warm-up lap.

Cla Driver Chassis Time Gap
1 Netherlands Max Verstappen Red Bull 1'35.246  
2 Finland Valtteri Bottas Mercedes 1'35.271 0.025
3 United Kingdom Lewis Hamilton Mercedes 1'35.332 0.086
4 United Kingdom Lando Norris McLaren 1'35.497 0.251
5 Thailand Alex Albon Red Bull 1'35.571 0.325
6 Spain Carlos Sainz Jr. McLaren 1'35.815 0.569
7 Russian Federation Daniil Kvyat AlphaTauri 1'35.963 0.717
8 Canada Lance Stroll Racing Point 1'36.046 0.800
9 France Pierre Gasly AlphaTauri 1'36.242 0.996
10 France Esteban Ocon Renault 1'36.359 1.113
11 Australia Daniel Ricciardo Renault 1'36.406 1.160
12 Monaco Charles Leclerc Ferrari 1'36.065 0.819
13 Germany Sebastian Vettel Ferrari 1'36.631 1.385
14 Italy Antonio Giovinazzi Alfa Romeo 1'38.248 3.002
15 Finland Kimi Raikkonen Alfa Romeo 1'37.555 2.309
16 United Kingdom George Russell Williams 1'38.045 2.799
17 Brazil Pietro Fittipaldi Haas 1'38.173 2.927
18 Canada Nicholas Latifi Williams 1'38.443 3.197
19 Denmark Kevin Magnussen Haas 1'37.863 2.617
20 Mexico Sergio Perez Racing Point