Leclerc will start ahead of the Red Bulls of Max Verstappen and Sergio Perez after the one-hour qualifying session, which is split into three segments with five cars each being knocked out in Q1 and Q2 before the top-10 shootout of Q3.
Leclerc benefited from his teammate Carlos Sainz giving him slipstreams in Q3, as Sainz will start from the back of the grid due to power unit change penalties.
French Grand Prix qualifying results: Leclerc on pole from Verstappen
What happened in French Grand Prix Q1?
Leclerc set the early pace at 1m31.727s, to which Verstappen responded with 1m31.891s, 0.164s slower. Sainz was third, half a second off the pace, just ahead of Perez.
Falling at the first hurdle were Pierre Gasly (AlphaTauri), Lance Stroll (who set the same time as Gasly in his Aston Martin), Zhou Guanyu (who suffered a wild moment in his Alfa Romeo), Mick Schumacher (who lost a top-10 laptime due to exceeding track limits on the apex of Turn 3) and Nicholas Latifi (Williams).
French Grand Prix Q1 results: Leclerc fastest from Verstappen
What happened in French Grand Prix Q2?
Leclerc set the bar at 1m32.587s, which both Red Bulls ducked under, with Perez setting 1m32.120s and Verstappen managing 1m31.990s.
Sainz then knocked everyone out of the park by almost a second, with a stunning laptime of 1m31.081s. Leclerc ran again and got to within 0.135s of his teammate to make it a Ferrari 1-2.
French Grand Prix Q2 results: Sainz fastest from Leclerc
What happened in French Grand Prix Q3?
On the first runs, Sainz gave Leclerc a tow on the second part of the Mistral Straight and through Signes resulting in 1m31.209s. Verstappen lapped in 1m31.217s, 0.008s down, with Perez in third on 1m31.640s.
On the final runs, Leclerc got another tow from Sainz, this time producing 1m30.872s. Verstappen could only manage 1m31.176s, three tenths slower.
Fernando Alonso starts seventh for Alpine from Yuki Tsunoda (AlphaTauri). Neither Sainz nor Kevin Magnussen (Haas) set a laptime but will both go to the back of the grid due to power unit change penalties and will start 19th and 20th respectively.