Red Bull's Max Verstappen will start the French Grand Prix on pole, registering a time of 1:29.990.
Lewis Hamilton (Mercedes) finished second 0.258s down on his title rival.
Valtteri Bottas found almost a second on his final lap to take third just behind Hamilton and narrowly ahead of the other Red Bull of Sergio Perez. Carlos Sainz (Ferrari) came fifth.
Spanish Grand Prix
'Good luck' - Federer backs Hamilton in Barcelona
22/05/2022 AT 07:52
"So far it's been a really positive weekend, on a track where it's normally been a bit difficult for us," Verstappen said.
"To get pole position feels really nice. It's a great day. We have to finish it off tomorrow and try and get the 25 points we lost in Baku."
Hamilton was not happy with his car.
"It's been a really, really hard weekend. Mentally, and just trying to get the car into a happy place," he said.
"You wouldn't believe how many changes I've made since Practice One, going round and round chasing our tails and ending up coming back to something similar to where we started.
"I've generally been unhappy in the car all weekend."
Alpha Tauri's Pierre Gasly, Ferrari's Charles Leclerc, McLaren's Lando Norris, Alpine's Fernando Alonso and the second McLaren of Daniel Ricciardo rounded out the top 10.
Spanish Grand Prix
Leclerc warns of Verstappen threat at Spanish GP: 'Max is just behind'
21/05/2022 AT 20:31
Spanish Grand Prix
Leclerc on pole for Spanish Grand Prix
21/05/2022 AT 15:13