With Ferrari’s aerodynamic upgrades giving it a significant boost in performance around a circuit that even the team expected would not suit it, Sebastian Vettel set the pace on the first runs in Q3.
But Vettel’s second attempt was scruffy, resulting in him aborting to the pits, leaving the way for Leclerc to claim pole position.
After the lap, he claimed over the radio that he lost control three times on the lap in what was a superb attacking performance.
Vettel’s final-run struggles allowed Hamilton to secure second place on his final lap, with Red Bull’s Max Verstappen ending up fourth and almost four tenths behind Vettel.
Valtteri Bottas was fifth for Mercedes ahead of Red Bull’s Alex Albon, with neither driver able to threaten their teammates.
McLaren led the way in the midfield battle, with Carlos Sainz taking seventh place ahead of the Renault of Daniel Ricciardo.
Nico Hulkenberg was ninth in the second Renault, 0.065s quicker than the second McLaren of Lando Norris.
Racing Point’s Sergio Perez jumped up to 11th at the end of Q2, but missed out on beating Hulkenberg to a Q3 spot by four hundredths of a second.
Perez has a five-place grid penalty for a gearbox change thanks to damage sustained in an FP3 crash, meaning he is currently set to start 16th.
Behind him, Antonio Giovinazzi and Pierre Gasly both failed to improve on their second runs and ended up 12th and 13th respectively but both well within a tenth of Perez’s time.
Gasly reported over the radio that he was struggling with the rear after completing his final lap, during which he grazed the wall.
Alfa Romeo driver Kimi Raikkonen was 14th after setting his best time on his second Q2 run, having slapped the wall with both left-hand-side wheels on his first attempt.
Haas driver Kevin Magnussen was slowest of those in Q2, lapping eight tenths behind Raikkonen.
Toro Rosso driver Daniil Kvyat was the quickest of those eliminated in Q1 in 16th having failed to improve on his time set during the first runs.
He was up after the first sector, but lost time thereafter meaning he was unable to recover from Perez bumping him into the drop-zone – although he was only 0.015s slower than Magnussen, who did make it through Q1.
Lance Stroll was 17th after only finding 0.209s on his second run in the Racing Point after several light brushes of the wall, which was enough to put him three tenths clear of Haas driver Romain Grosjean.
George Russell had to abort his final attempt after running wide at the exit of Turn 7, although his first-run time was good enough to put him 19th ahead of Williams teammate Robert Kubica by three tenths.