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 team-mate 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.164 seconds 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 lap time 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 time of 1m31.081s. Leclerc ran again and got to within 0.135s of his team-mate 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 a lap of 1m31.209s. Verstappen lapped in 1m31.217s, just 0.008s down, with Perez in third on 1m31.640s.
On the final runs, Leclerc got another tow from Sainz, this time producing a 1m30.872s. Verstappen could only manage 1m31.176s, three tenths slower.
Perez will start third, ahead of the Mercedes of Lewis Hamilton, Lando Norris (McLaren) and George Russell (Mercedes). Fernando Alonso starts seventh for Alpine from Yuki Tsunoda (AlphaTauri). Neither Sainz nor Kevin Magnussen (Haas) set a time because will both go to the back of the grid due to power unit change penalties and will start 19th and 20th respectively.